{
  "_class" : "hudson.tasks.junit.TestResult",
  "testActions" : [
    
  ],
  "duration" : 41.850994,
  "empty" : False,
  "failCount" : 0,
  "passCount" : 324,
  "skipCount" : 2,
  "suites" : [
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.InsertDefaultSiteCallbackTest",
          "duration" : 0.308,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDatabaseCreated_thenWhenOpened_itShouldBloodyWellBeThereFfs",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "06:27:41,804 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a06:27:41,805 |-INFO in ch.qos.logback.classic.util.ContextInitializer@753432a2 - No custom configurators were discovered as a service.\u000a06:27:41,805 |-INFO in ch.qos.logback.classic.util.ContextInitializer@753432a2 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a06:27:41,805 |-INFO in ch.qos.logback.classic.util.ContextInitializer@753432a2 - Constructed \u000a...[truncated 3445 chars]...\u000alevel of logger [io.netty] to INFO\u000a06:27:41,887 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@44e3a2b2 - End of configuration.\u000a06:27:41,887 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@101639ae - Registering current configuration as safe fallback point\u000a06:27:41,887 |-INFO in ch.qos.logback.classic.util.ContextInitializer@753432a2 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 77 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 0.308,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.InsertDefaultSiteCallbackTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "06:27:41,804 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a06:27:41,805 |-INFO in ch.qos.logback.classic.util.ContextInitializer@753432a2 - No custom configurators were discovered as a service.\u000a06:27:41,805 |-INFO in ch.qos.logback.classic.util.ContextInitializer@753432a2 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a06:27:41,805 |-INFO in ch.qos.logback.classic.util.ContextInitializer@753432a2 - Constructed \u000a...[truncated 3445 chars]...\u000alevel of logger [io.netty] to INFO\u000a06:27:41,887 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@44e3a2b2 - End of configuration.\u000a06:27:41,887 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@101639ae - Registering current configuration as safe fallback point\u000a06:27:41,887 |-INFO in ch.qos.logback.classic.util.ContextInitializer@753432a2 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 77 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-01-23T06:27:41"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
          "duration" : 1.041,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidCredentials_whenLoginCalled_thenShouldReturnAccount",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aJan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34308 chars]...\u000a io.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    \"\u000aJan 23, 2025 6:27:43 AM 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.132,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidCredentials_whenLoginCalled_thenShouldRespondForbidden",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aJan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34308 chars]...\u000a io.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    \"\u000aJan 23, 2025 6:27:43 AM 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.104,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRegisterPersonWithAuth_whenRegisterCalled_thenShouldGenerateAuth",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aJan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34308 chars]...\u000a io.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    \"\u000aJan 23, 2025 6:27:43 AM 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.277,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aJan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJan 23, 2025 6:27:42 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34308 chars]...\u000a io.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    \"\u000aJan 23, 2025 6:27:43 AM 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-01-23T06:27:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.TestContentEntryVersionRoute",
          "duration" : 0.03,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotCached_whenRequested_thenShouldReturn404",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:43 AM 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.038,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryIsCached_whenRequested_thenResponseShouldMatch",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.068,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.TestContentEntryVersionRoute",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:43"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.TestSiteRoute",
          "duration" : 0.031,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAvailableWorkSpace_whenRequested_thenShouldReturnWorkSpaceObject",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.031,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.TestSiteRoute",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode\u000aJan 23, 2025 6:27:43 AM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:43"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
          "duration" : 0.165,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "verifyPasskeySignInWithValidData",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
          "duration" : 0.007,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "verifyPasskeySignInWithWrongSignature",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
          "duration" : 0.006,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "verifyPasskeySignInWithWrongChallenge",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.178,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:43"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.jsmodules.JsIntlWrapperTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLocale_whenFormatCalled_thenShouldFormatDate[js, browser, ChromeHeadless132.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "[log] Now: 1/23/2025\u000a"
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.jsmodules.JsIntlWrapperTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "[log] Now: 1/23/2025\u000a",
      "timestamp" : "2025-01-23T06:27:23"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenApiUrlInSearchParams_whenEndpointResolved_thenShouldReturnSearchParam[js, browser, ChromeHeadless132.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRootHref_whenEndpointIsResolved_thenShouldReturnHref[js, browser, ChromeHeadless132.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, ChromeHeadless132.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, ChromeHeadless132.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-01-23T06:27:23"
    },
    {
      "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, ChromeHeadless132.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-01-23T06:26:07"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.AuthManagerTest",
          "duration" : 1.28,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAuthSet_whenAuthenticatedWithWrongPassword_thenShouldReject[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "06:27:47,444 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a06:27:47,445 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - No custom configurators were discovered as a service.\u000a06:27:47,445 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a06:27:47,445 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - Constructed \u000a...[truncated 3718 chars]...\u000alevel of logger [io.netty] to INFO\u000a06:27:47,547 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4fc3c165 - End of configuration.\u000a06:27:47,548 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@10a0fe30 - Registering current configuration as safe fallback point\u000a06:27:47,548 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 96 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.AuthManagerTest",
          "duration" : 0.14,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAuthSet_whenAuthenticatedWithValidPassword_thenShouldAccept[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "06:27:47,444 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a06:27:47,445 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - No custom configurators were discovered as a service.\u000a06:27:47,445 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a06:27:47,445 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - Constructed \u000a...[truncated 3718 chars]...\u000alevel of logger [io.netty] to INFO\u000a06:27:47,547 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4fc3c165 - End of configuration.\u000a06:27:47,548 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@10a0fe30 - Registering current configuration as safe fallback point\u000a06:27:47,548 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 96 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 1.421,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.account.AuthManagerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "06:27:47,444 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a06:27:47,445 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - No custom configurators were discovered as a service.\u000a06:27:47,445 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a06:27:47,445 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - Constructed \u000a...[truncated 3718 chars]...\u000alevel of logger [io.netty] to INFO\u000a06:27:47,547 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4fc3c165 - End of configuration.\u000a06:27:47,548 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@10a0fe30 - Registering current configuration as safe fallback point\u000a06:27:47,548 |-INFO in ch.qos.logback.classic.util.ContextInitializer@2127e66e - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 96 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-01-23T06:27:46"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.StringEncryptTest",
          "duration" : 0.012,
          "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.012,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSameParams_whenEncrypted_thenShoudlMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.024,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.account.StringEncryptTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:48"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.cachestoragepath.GetStoragePathForUrlUseCaseCommonJvmTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequestForUrl_whenInvoked_thenWillProvideValidPath[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.014,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.cachestoragepath.GetStoragePathForUrlUseCaseCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:48"
    },
    {
      "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-01-23T06:27:48"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
          "duration" : 0.288,
          "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.047,
          "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.032,
          "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.023,
          "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.032,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEpubWithManifestItemsMissing_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.424,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:48"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNavigationDocumentWhereNavIsNotDirectChild_whenParsed_thenMatchesExpectedValues[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
          "duration" : 0.003,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidNavigationDocument_whenParsed_thenMatchesExpectedVals[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.005,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:49"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.ncx.NcxDocumentTest",
          "duration" : 0.162,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidNcxDoc_whenParsed_thenShouldProvideExpectedValues[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.162,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.ncx.NcxDocumentTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:49"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.ocf.TestContainerParse",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidContainer_whenParsed_thenMatches[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.ocf.TestContainerParse",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:49"
    },
    {
      "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-01-23T06:27:49"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
          "duration" : 0.173,
          "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.019,
          "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.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileWithH5pExtensionNotValidH5p_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.219,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:49"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenExtractMetadataCalled_thenShouldReturnEntry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNonVideoFile_whenExtractMetadataCalled_thenWillReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.025,
          "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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidFileWithRecognizedExtension_whenExtractMetadataCalled_thenWillThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.122,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:49"
    },
    {
      "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-01-23T06:27:49"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.115,
          "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.147,
          "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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileNotPdf_whenExtractMetadataCalled_thenWillReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.112,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenAddedToCached_thenDataShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileShouldBePdf_whenDataIsNotValid_thenWillThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.419,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:49"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.033,
          "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 2043 chars]...\u000aler.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}@157b306, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.025,
          "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 2043 chars]...\u000aler.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}@157b306, 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 2043 chars]...\u000aler.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}@157b306, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.018,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidTinCanXmlFile_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#244\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 2043 chars]...\u000aler.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}@157b306, Dispatchers.Main]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.092,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Exception in thread \"UI Thread @coroutine#244\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 2043 chars]...\u000aler.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}@157b306, Dispatchers.Main]\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:50"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.075,
          "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}@1f155f29, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.045,
          "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}@1f155f29, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.026,
          "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}@1f155f29, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.03,
          "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}@1f155f29, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.026,
          "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}@1f155f29, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.022,
          "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}@1f155f29, Dispatchers.Main]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.224,
      "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}@1f155f29, Dispatchers.Main]\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:50"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.download.BlobDownloadClientUseCaseCommonJvmTest",
          "duration" : 0.135,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientUseCaseCommonJvm: #0 http://localhost:43575/com/ustadmobile/core/container/testfile1.png  : channel: start\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientU\u000a...[truncated 1319 chars]...\u000aeted\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobDownloadClientUseCaseCommonJvmTest$givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll - BlobDownloadClientUseCaseCommonJvmTest: Recorded requests for http://localhost.localdomain:43575/com/ustadmobile/core/container/testfile1.png, http://localhost.localdomain:43575/com/ustadmobile/core/container/testfile2.png, http://localhost.localdomain:43575/com/ustadmobile/core/container/testfile3.png\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.135,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.download.BlobDownloadClientUseCaseCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientUseCaseCommonJvm: #0 http://localhost:43575/com/ustadmobile/core/container/testfile1.png  : channel: start\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientU\u000a...[truncated 1319 chars]...\u000aeted\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobDownloadClientUseCaseCommonJvmTest$givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll - BlobDownloadClientUseCaseCommonJvmTest: Recorded requests for http://localhost.localdomain:43575/com/ustadmobile/core/container/testfile1.png, http://localhost.localdomain:43575/com/ustadmobile/core/container/testfile2.png, http://localhost.localdomain:43575/com/ustadmobile/core/container/testfile3.png\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:50"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.download.ContentManifestDownloadUseCaseTest",
          "duration" : 0.145,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenContentEntryVersionUidAndManifest_whenInvoked_thenWillCreateLockJoinsAndEnqueueBlobDownloadForAllItemsInManifest[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 222 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[TransferJob]\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[CacheLockJoin]\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.145,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.download.ContentManifestDownloadUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 222 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[TransferJob]\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[CacheLockJoin]\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:50"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
          "duration" : 1.393,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenImportedOnClient_thenWilBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1545906 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@68cc6319 - http://localhost:39099/UmAppDatabase/replication/sse?door-node=2766871090765290113%2F5fc80217-4f9c-483a-bf73-e30fdb79e727] close\u000aJan 23, 2025 6:27:58 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:27:59 AM 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.288,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiFile_whenUploadInterrupted_thenWillRetry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1545906 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@68cc6319 - http://localhost:39099/UmAppDatabase/replication/sse?door-node=2766871090765290113%2F5fc80217-4f9c-483a-bf73-e30fdb79e727] close\u000aJan 23, 2025 6:27:58 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:27:59 AM 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.18,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiFile_whenImportedOnClient_thenWillBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1545906 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@68cc6319 - http://localhost:39099/UmAppDatabase/replication/sse?door-node=2766871090765290113%2F5fc80217-4f9c-483a-bf73-e30fdb79e727] close\u000aJan 23, 2025 6:27:58 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:27:59 AM 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.587,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidH5p_whenImportedOnClient_thenWillBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1545906 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@68cc6319 - http://localhost:39099/UmAppDatabase/replication/sse?door-node=2766871090765290113%2F5fc80217-4f9c-483a-bf73-e30fdb79e727] close\u000aJan 23, 2025 6:27:58 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 8.448,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:50 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1545906 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@68cc6319 - http://localhost:39099/UmAppDatabase/replication/sse?door-node=2766871090765290113%2F5fc80217-4f9c-483a-bf73-e30fdb79e727] close\u000aJan 23, 2025 6:27:58 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:50"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAsBlobAndManifestUseCaseJvmTest",
          "duration" : 0.041,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLocalUrisToManifest_whenInvoked_thenAreStoredInCacheAsPerManifestBodyDataUrl[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER SaveLocalUrisAsBlobsUseCaseJvm$invoke$invokeSuspend - SaveLocalUrisAsB\u000a...[truncated 3361 chars]...\u000arieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(client): Retrieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(client): FOUND http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.041,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAsBlobAndManifestUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER SaveLocalUrisAsBlobsUseCaseJvm$invoke$invokeSuspend - SaveLocalUrisAsB\u000a...[truncated 3361 chars]...\u000arieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(client): Retrieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(client): FOUND http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:59"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.savelocaluris.SaveLocalUrisAsBlobsUseCaseJvmIntegrationTest",
          "duration" : 1.026,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLocalUris_whenInvoked_thenBlobsAreUploadedAndCanBeRetrievedViaCache[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 5701 chars]...\u000ap://localhost:39329/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(server): Retrieve http://localhost:39329/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(server): FOUND http://localhost:39329/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.026,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.savelocaluris.SaveLocalUrisAsBlobsUseCaseJvmIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 5701 chars]...\u000ap://localhost:39329/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(server): Retrieve http://localhost:39329/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aJan 23, 2025 6:27:59 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(server): FOUND http://localhost:39329/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:59"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
          "duration" : 0.1,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTransferJobInDatabase_whenErrorOccurs_thenAttemptCountIncrementAndExceptionThrown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM 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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBatchDataRetrieved_whenOneUploadThrowsException_thenWillRethrow[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM 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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBatch_whenInvoked_thenWillRetrievePartialDataAndUpload[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.143,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:00"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
          "duration" : 0.038,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPartialRequest_whenInitialzedAndBlobsUploaded_thenWillListRemainingItemsAndStoreEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload 4d351f1f-e07d-437a-b6ba-264270257061):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload 4d351f1f-e0\u000a...[truncated 233 chars]...\u000asion - BlobUploadServerUseCase#onStartUploadSession(upload 4d351f1f-e07d-437a-b6ba-264270257061):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload bb3a04f9-2416-4169-83ed-6ab1f39eb01c):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
          "duration" : 0.005,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewRequest_whenInitializedAndBlobsUploaded_thenWillStoreEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload 4d351f1f-e07d-437a-b6ba-264270257061):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload 4d351f1f-e0\u000a...[truncated 233 chars]...\u000asion - BlobUploadServerUseCase#onStartUploadSession(upload 4d351f1f-e07d-437a-b6ba-264270257061):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload bb3a04f9-2416-4169-83ed-6ab1f39eb01c):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.043,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload 4d351f1f-e07d-437a-b6ba-264270257061):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload 4d351f1f-e0\u000a...[truncated 233 chars]...\u000asion - BlobUploadServerUseCase#onStartUploadSession(upload 4d351f1f-e07d-437a-b6ba-264270257061):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload bb3a04f9-2416-4169-83ed-6ab1f39eb01c):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:00"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
          "duration" : 0.184,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidImportRows_whenInvoked_thenWillAddNewPerson[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMissingRequiredColumns_whenInvoked_thenWillThrowIllegalArgumentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.198,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:00"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.cachelock.AddRetainAllActiveTriggersUseCaseTest",
          "duration" : 0.007,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "test[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.007,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.cachelock.AddRetainAllActiveTriggersUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:00"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
          "duration" : 0.055,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonAlreadyEnroled_whenInvoked_thenWillThrowAlreadyEnroledException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJan 23, 2025 6:28:00 AM 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.055,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoPendingEnrolmentsOrRequests_whenInvoked_thenRequestInserted[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJan 23, 2025 6:28:00 AM 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.043,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidCode_whenInvoked_thenWillThrowIllegalArgException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJan 23, 2025 6:28:00 AM 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.052,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPendingRequestAlreadyExists_whenInvoked_thenWillThrowAlreadyHasPendingEnrolmentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.205,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:00"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.228,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAudioInputFile_whenInvoked_thenWillCompress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit12769600502245867213/soundfile.mp3 -C 2 --type ogg /tmp/junit12769600502245867213/junit1760329683751702071/f94bf1d0-3bbd-47f7-8741-2594aa64012f\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 33,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMpg123PathNotNullAndInputIsMp3ThenWillInvokeMpg123AndCompressWav[jvm]",
          "properties" : {
            
          },
          "skipped" : True,
          "skippedMessage" : "",
          "status" : "SKIPPED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit12769600502245867213/soundfile.mp3 -C 2 --type ogg /tmp/junit12769600502245867213/junit1760329683751702071/f94bf1d0-3bbd-47f7-8741-2594aa64012f\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 33,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMpg123PathNotNullAndInputIsNotMp3_whenInvoked_thenWillNotUseMpg123[jvm]",
          "properties" : {
            
          },
          "skipped" : True,
          "skippedMessage" : "",
          "status" : "SKIPPED",
          "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit12769600502245867213/soundfile.mp3 -C 2 --type ogg /tmp/junit12769600502245867213/junit1760329683751702071/f94bf1d0-3bbd-47f7-8741-2594aa64012f\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.23,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:00 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit12769600502245867213/soundfile.mp3 -C 2 --type ogg /tmp/junit12769600502245867213/junit1760329683751702071/f94bf1d0-3bbd-47f7-8741-2594aa64012f\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:00"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.image.CompressImageUseCaseJvmTest",
          "duration" : 0.194,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInputImage_whenInvoked_thenWillBeResized[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.194,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.image.CompressImageUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:00"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.list.CompressListUseCaseTest",
          "duration" : 0.031,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileList_whenInvoked_thenWillInvokeCompressorAndReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.031,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.list.CompressListUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:01"
    },
    {
      "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" : "Jan 23, 2025 6:28:01 AM 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/junit37906838680860625/junit7247855354688875603/b30d8a12-9c89-4db1-aa6b-727c92a37f81 /tmp/junit37906838680860625/junit17935359246645833036.tmp \u000aJan 23, 2025 6:28:01 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000a\u000a...[truncated 79 chars]...\u000aompressPdfUseCaseJvm: completed page 1\u000aJan 23, 2025 6:28:01 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressPdfUseCaseJvm$invoke$2$outputReaderJob$invokeSuspend - CompressPdfUseCaseJvm: completed page 2\u000aJan 23, 2025 6:28:01 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: compressed file:/tmp/junit37906838680860625/junit17935359246645833036.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" : "Jan 23, 2025 6:28:01 AM 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/junit37906838680860625/junit7247855354688875603/b30d8a12-9c89-4db1-aa6b-727c92a37f81 /tmp/junit37906838680860625/junit17935359246645833036.tmp \u000aJan 23, 2025 6:28:01 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000a\u000a...[truncated 79 chars]...\u000aompressPdfUseCaseJvm: completed page 1\u000aJan 23, 2025 6:28:01 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressPdfUseCaseJvm$invoke$2$outputReaderJob$invokeSuspend - CompressPdfUseCaseJvm: completed page 2\u000aJan 23, 2025 6:28:01 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: compressed file:/tmp/junit37906838680860625/junit17935359246645833036.tmp from 152064 bytes to 99455 bytes\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:01"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.video.CompressVideoUseCaseHandbrakeTest",
          "duration" : 2.887,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideoFile_whenCompressed_thenWillOutputVideoWithSameLength[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:01 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressVideoUseCaseHandbrake$invoke$invokeSuspend - CompressVideoUseCase: running /usr/bin/HandBrakeCLI -i /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-distributedcache/core/tmp-bigbuckbunny.mp4 -o /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-distributedcache/core/0f770400-67b8-4036-84a1-17d3714f1e2a.mp4 --format av_mp4 --encoder svt_av1 --aencoder opus --maxWidth 720 --maxHeight 405 --quality 55 --ab 96 --rate 30 --json \u000a",
          "stdout" : ""
        }
      ],
      "duration" : 2.887,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.video.CompressVideoUseCaseHandbrakeTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:01 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressVideoUseCaseHandbrake$invoke$invokeSuspend - CompressVideoUseCase: running /usr/bin/HandBrakeCLI -i /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-distributedcache/core/tmp-bigbuckbunny.mp4 -o /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-distributedcache/core/0f770400-67b8-4036-84a1-17d3714f1e2a.mp4 --format av_mp4 --encoder svt_av1 --aencoder opus --maxWidth 720 --maxHeight 405 --quality 55 --ab 96 --rate 30 --json \u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:01"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.video.FindHandBrakeUseCaseTest",
          "duration" : 0.098,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenHandBrakeCliOnSystem_whenInvoked_thenWillFindLatestVersion[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.098,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.video.FindHandBrakeUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:04"
    },
    {
      "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" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM 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" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM 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-01-23T06:28:04"
    },
    {
      "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-01-23T06:28:04"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.extractvideothumbnail.ExtractVideoThumbnailUseCaseJvmTest",
          "duration" : 0.51,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenInvoked_thenWillSaveValidThumbnail[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.51,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.extractvideothumbnail.ExtractVideoThumbnailUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:04"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.046,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLineItemExists_whenCallGetLineItemWithSourcedId_thenShouldReturn200[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.038,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAuth_whenRequestClassesForUser_thenShouldReturnClassList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.048,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRawOneRosterLineItem_whenCallPutLineItem_thenShouldRespond201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.043,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLineItem_whenCallPutLineItem_thenShouldInsertAndReturn201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.047,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAuth_whenRequestResultsForStudentClass_thenShouldReturnResults[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.035,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLineItemDoesNotExist_whenCallGetLineItem_thenShouldReturn404[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.046,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidResult_whenCallPutResult_thenShouldInsertAndReturn201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.303,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:04 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:04"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMixedInput_whenInvoke_thenReturnMixedResults[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidEmail_whenInvoke_thenReturnTrue[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidUsername_whenInvoke_thenReturnTrue[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:05"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.invite.ProcessInviteUseCaseTest",
          "duration" : 0.136,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "given_contacts_when_invoked_then_will_insert_invites_and_return_use_case_names[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ProcessInviteUseCase$invoke - ProcessInviteUseCase: No valid invites to send\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.136,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.invite.ProcessInviteUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ProcessInviteUseCase$invoke - ProcessInviteUseCase: No valid invites to send\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:05"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.013,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoSubmitters_whenInvoked_thenShouldReturnEmptyList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithNoExistingAllocations_whenInvoked_thenShouldAllocate[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM 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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithExistingAllocations_whenNumReviewersIncreased_thenShouldAllocateRemainder[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM 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" : "givenClazzWithSubmitters_whenTooManyReviewsSet_thenShouldRunThroughWithSomeAllocationsEmpty[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithExistingAllocations_whenNumReviewersReduced_thenShouldTruncateList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.099,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:05"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
          "duration" : 0.278,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileUploadedInChunks_whenCombined_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(03fa28c6-4da8-4555-8888-f1ec6e39c098): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:56635/ starting from byte=0\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(03fa28c6-4da8-4555-8888-f1ec6e39c098): Uploa\u000a...[truncated 160 chars]...\u000a: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(1eb47e34-4d2d-46bc-9b40-327d6b109047): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:51191/ starting from byte=10000\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(1eb47e34-4d2d-46bc-9b40-327d6b109047): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:51191/\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" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(03fa28c6-4da8-4555-8888-f1ec6e39c098): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:56635/ starting from byte=0\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(03fa28c6-4da8-4555-8888-f1ec6e39c098): Uploa\u000a...[truncated 160 chars]...\u000a: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(1eb47e34-4d2d-46bc-9b40-327d6b109047): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:51191/ starting from byte=10000\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(1eb47e34-4d2d-46bc-9b40-327d6b109047): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:51191/\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.491,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(03fa28c6-4da8-4555-8888-f1ec6e39c098): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:56635/ starting from byte=0\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(03fa28c6-4da8-4555-8888-f1ec6e39c098): Uploa\u000a...[truncated 160 chars]...\u000a: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(1eb47e34-4d2d-46bc-9b40-327d6b109047): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:51191/ starting from byte=10000\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(1eb47e34-4d2d-46bc-9b40-327d6b109047): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:51191/\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:05"
    },
    {
      "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" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(dcc499ff-8f66-4c95-be0d-1c02ce420196)  receive request \u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(dcc499ff-8f66-4c95-be0d-1c02ce420196)  receive request \u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.Napi\u000a...[truncated 4481 chars]...\u000alogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(dcc499ff-8f66-4c95-be0d-1c02ce420196)  receive request \u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(dcc499ff-8f66-4c95-be0d-1c02ce420196)  appended chunk (isFinal=true) to /tmp/junit5973005652126152778/junit16712325764907502832/dcc499ff-8f66-4c95-be0d-1c02ce420196 \u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.upload.ChunkedUploadServerUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(dcc499ff-8f66-4c95-be0d-1c02ce420196)  receive request \u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(dcc499ff-8f66-4c95-be0d-1c02ce420196)  receive request \u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.Napi\u000a...[truncated 4481 chars]...\u000alogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(dcc499ff-8f66-4c95-be0d-1c02ce420196)  receive request \u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(dcc499ff-8f66-4c95-be0d-1c02ce420196)  appended chunk (isFinal=true) to /tmp/junit5973005652126152778/junit16712325764907502832/dcc499ff-8f66-4c95-be0d-1c02ce420196 \u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:05"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.validatevideofile.ValidateVideoFileUseCaseMediaInfoTest",
          "duration" : 0.016,
          "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.005,
          "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.04,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.validatevideofile.ValidateVideoFileUseCaseMediaInfoTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:05"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.044,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithObjectAsSubStatement_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]\u000a...[truncated 3861 chars...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM 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" : "givenStatementWithObjectAsStatementRef_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]\u000a...[truncated 3861 chars...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM 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" : "givenStatementPut_whenGetCalled_thenShouldBeRetrieved[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]\u000a...[truncated 3861 chars...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithObjectAsGroup_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]\u000a...[truncated 3861 chars...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithGroupActorAndExtensions_whenPutCalled_thenShouldBeStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]\u000a...[truncated 3861 chars...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongStatementWithContextActivities_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]\u000a...[truncated 3861 chars...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithChoiceActivity_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]\u000a...[truncated 3861 chars...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM 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.189,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:05 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]\u000a...[truncated 3861 chars...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM 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-01-23T06:28:05"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.coursegroup.CreateXapiGroupForCourseGroupUseCaseTest",
          "duration" : 0.051,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidCourseGroupSet_whenInvoked_thenXapiGroupCreated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 991 chars]...\u000aAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[Person, ClazzEnrolment, CourseGroupMember]\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[ClazzAssignment]\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.051,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.coursegroup.CreateXapiGroupForCourseGroupUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 991 chars]...\u000aAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[Person, ClazzEnrolment, CourseGroupMember]\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[ClazzAssignment]\u000aJan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:06"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.noninteractivecontentusagestatementrecorder.NonInteractiveContentXapiStatementRecorderTest",
          "duration" : 2.063,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRecorderCreated_whenOnActiveSetAndOnCompletedInvoked_thenShouldRecordCompletedStatement[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJan 23, 2025 6:28:08 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJan 23, 2025 6:28:10 AM 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" : "Jan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJan 23, 2025 6:28:08 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 4.064,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.noninteractivecontentusagestatementrecorder.NonInteractiveContentXapiStatementRecorderTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:06 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJan 23, 2025 6:28:08 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:06"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBinaryStateStored_whenRetrieved_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM 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.041,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateCreated_whenDeletedById_thenShouldBeNotFound[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM 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.041,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateCreated_whenDeletedAllByContext_thenShouldBeNotFound[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.037,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingStateStored_whenNewStatePosted_thenShouldMerge[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM 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" : "givenStateStored_whenRetrieve_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM 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.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTextBodyTooLarge_whenStored_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM 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.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBinaryBodyTooLarge_whenStored_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM 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.235,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:10 AM 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-01-23T06:28:10"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.embeddedhttp.EmbeddedHttpServerTest",
          "duration" : 0.06,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRequest_whenHttpRequestMade_thenWillInvokeUseCase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM 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.06,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.embeddedhttp.EmbeddedHttpServerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:10 AM 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-01-23T06:28:10"
    },
    {
      "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-01-23T06:28:10"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.155,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAccountRequiresParentalConsent_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.101,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTwoStoredAccounts_whenSetActiveAccountCalled_thenActiveAccountShouldChangeAndAllRemainInStoredAccounts[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.091,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidLoginCredentials_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.05,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoUserInPrefKeys_whenInitialized_shouldInitGuestAccountOnDefaultServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.081,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUnreachableServer_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.11,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLoginCredentials_whenLoginCalledForSecondAccountOnSameServer_shouldAddAccount[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.105,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveAccount_whenIncomingReplicationMakesUserSessionInactive_thenShouldEndSession[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.122,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLoginCredentials_whenLoginCalledForFirstLogin_shouldInitLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.104,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRegistrationRequest_whenNewAccountRequested_thenShouldBeRequestedOnServerAndActive[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.919,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] database build complete\u000aJan 23, 2025 6:28:10 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93308 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@366a1604, com.ustadmobile.door.nodeevent.NodeEvent@65b8346c \u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_46591_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:10"
    },
    {
      "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.001,
          "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.0,
          "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-01-23T06:28:11"
    },
    {
      "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-01-23T06:28:11"
    },
    {
      "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-01-23T06:28:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestScheduleExt",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSchedule_whenNextOccurenceCalled_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.schedule.TestScheduleExt",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:11"
    },
    {
      "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-01-23T06:28:11"
    },
    {
      "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-01-23T06:28:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.LongExtTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenListOfLongs_whenConvertedToFromByteArray_thenWillBeEqual[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.LongExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.118,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnSameEndpointAsActiveAccount_whenNavigateToLinkCalledWithoutForceAccountSelect_thenShouldNavigateToLinkDirectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.011,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPlainViewUri_whenNavigateToLinkIsCalledWithForceAccountSelected_thenShouldNavigateToAccountList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPlainViewUri_whenNavigateToLinkIsCalledWithoutForceAccountSelect_thenShouldNavigateToLinkDirectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.012,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLink_whenNoStoredAccountsAvailableOnSameEndpoint_thenShouldNavigateToLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnSameEndpointAsActiveAccount_whenNavigateToLinkCalledWithForceAccountSelect_thenShouldNavigateToAccountList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNonUstadLink_whenNavigateToLinkIsCalled_thenShouldCallOpenInBrowser[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewUriLink_whenUserCannotSelectServerAndNoAccountsAreStoredAndForceAccountSelectionEnabled_thenShouldNavigateToLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnDifferentEndpointToActiveAccount_whenStoredAccountAvailableOnSameEndpoint_thenShouldNavigateToAccountListWithFilter[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.147,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.ProcessExtTest",
          "duration" : 0.104,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenProcessStarted_whenWaitForInterrupted_thenWillDestroyProcess[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] emitting 1 e\u000a...[truncated 1939 chars]...\u000a.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\u000a\u0009at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.104,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.ProcessExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_35645_.sqlite] emitting 1 e\u000a...[truncated 1939 chars]...\u000a.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\u000a\u0009at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.AddAccountSelectNewOrExistingViewModelTest",
          "duration" : 0.039,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickExistingUser_presetLearningSpaceAndPersonalAccountsLearningSpaceUrlIsNull_shouldNavigateToLearningSpaceList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_38001_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:38001/UmAppDatabase/ - endpoint=http\u000a...[truncated 12325 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.AddAccountSelectNewOrExistingViewModelTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickNewUser_presetLearningSpaceAndPersonalAccountsLearningSpaceUrlIsNull_shouldNavigateToLearningSpaceList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_38001_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:38001/UmAppDatabase/ - endpoint=http\u000a...[truncated 12325 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.AddAccountSelectNewOrExistingViewModelTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickExistingUser_presetLearningSpaceIsNullAndPersonalAccountsLearningSpaceUrlNonNull_shouldNavigateToAddAccountSelectNewUserType[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_38001_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:38001/UmAppDatabase/ - endpoint=http\u000a...[truncated 12325 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.AddAccountSelectNewOrExistingViewModelTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickNewUser_presetLearningSpaceIsNullAndPersonalAccountsLearningSpaceUrlNonNull_shouldNavigateToAddAccountSelectNewUserType[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_38001_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:38001/UmAppDatabase/ - endpoint=http\u000a...[truncated 12325 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.104,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.AddAccountSelectNewOrExistingViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_38001_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:38001/UmAppDatabase/ - endpoint=http\u000a...[truncated 12325 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.LeavingReasonEditViewModelTest",
          "duration" : 0.034,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core\u000a...[truncated 7151 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[LeavingReason]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.034,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.LeavingReasonEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core\u000a...[truncated 7151 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[LeavingReason]\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.accountlist.AccountListViewModelTest",
          "duration" : 0.056,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickAddAccount_presetLearningSpaceIsNonNullAndRegistrationNotAllowed_shouldNavigateToLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 11631 chars]...\u000ad - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.accountlist.AccountListViewModelTest",
          "duration" : 0.046,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickAddAccount_presetLearningSpaceIsNonNullAndRegistrationAllowed_shouldNavigateToAddAccountSelect[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 11631 chars]...\u000ad - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.102,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.accountlist.AccountListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 11631 chars]...\u000ad - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detail.ClazzDetailViewModelTest",
          "duration" : 0.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserDoesnotHaveAttendancePermission_whenOnCreateCalled_thenAttendanceTabShouldNotBeVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core\u000a...[truncated 20923 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:12 AM 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.064,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserHasAttendancePermissions_whenOnCreateCalled_thenShouldMakeAttendanceTabVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core\u000a...[truncated 20923 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.133,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.detail.ClazzDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:11 AM com.ustadmobile.core\u000a...[truncated 20923 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detailoverview.ClazzDetailOverviewViewModelTest",
          "duration" : 0.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzExists_whenOnClickEditcalled_thenShouldGoToEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4217 chars]...\u000a #2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aJan 23, 2025 6:28:12 AM 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.048,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzExists_whenOnCreateCalled_thenClazzIsSetOnView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4217 chars]...\u000a #2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.101,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.detailoverview.ClazzDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4217 chars]...\u000a #2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:12"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.edit.ClazzEditViewModelTest",
          "duration" : 0.158,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3866 chars]...\u000anged tables=[Clazz, CoursePermission]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: transaction done\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: done\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.158,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.edit.ClazzEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3866 chars]...\u000anged tables=[Clazz, CoursePermission]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: transaction done\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: done\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:12"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.list.ClazzListViewModelTest",
          "duration" : 0.051,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewModelInBrowseMode_whenOnClickEntryCalled_thenShouldGoToDetailView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3665 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:12 AM 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.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewModelNotYetCreated_whenInitialized_thenShouldQueryDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3665 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.113,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.list.ClazzListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3665 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:12"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.ClazzAssignmentIntegrationTest",
          "duration" : 1.484,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseAndAssignmentCreated_whenStudentSubmits_thenTeacherCanMarkAndStudentCanSeeMarkGiven[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - serverdb] - useNewConnectionAsyncInternal connection #1 : SQLi\u000a...[truncated 99613 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.484,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.ClazzAssignmentIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aJan 23, 2025 6:28:12 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - serverdb] - useNewConnectionAsyncInternal connection #1 : SQLi\u000a...[truncated 99613 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:12"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.077,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithNoSubmissionGivenYet_whenShown_thenShowNoSubmissionStatusAndAddFileTextWithComments[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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.093,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseCommentsEnabled_whenShown_willShowExistingCourseCommentsAndAllowSubmissionOfNewCourseComment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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.073,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithPrivateCommentsEnabled_whenShown_thenShowPrivateComments[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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" : "givenStudentWithPrivateCommentsDisabled_whenShown_thenDoNotShowSubmitPrivateCommentButton[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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" : "givenUserNotAssignedInGroup_whenShown_displayErrorAndDontShowSubmitAndAddTextFileButtonsAndPrivateOff[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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.066,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionNotMarkedAndMultipleSubmissionPolicy_whenShown_thenShowAddFileTextWithSubmittedStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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" : "givenStudentLoggedIn_whenShown_willShowExistingPrivateCommentsAndAllowSubmissionOfNewPrivateComment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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.065,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionMarkedAndSingleSubmissionPolicy_whenShown_thenShowMarkedStatusWithNoAddTextFileButtons[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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.095,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenSubmitAssignmentUseCaseThrowsException_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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" : "givenUserIsNotStudent_whenShown_dontShowPrivateCommentsSubmissionStatusScoreAndAddFileText[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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.067,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionMarkedAndMultipleSubmissionPolicy_whenShown_thenShowMarkedStatusAndAddTextFileButtons[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM 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" : "givenStudentWithNoSubmissionAndSingleSubmitPolicy_whenClickSubmitSubmission_thenSubmitAndHideAddTextFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.929,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:13 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 72257 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:13"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.046,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingAssignmentMarkingTypeWasChanged_whenSubmissionMarkedBeforeSave_thenShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 49386 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:15 AM 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.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithDeadlineBeforeStartDate_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 49386 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:15 AM 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" : "givenAssignmentEditedWithGracePeriodBeforeDeadlineDate_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 49386 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:15 AM 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.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithTextAndFileDisabled_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 49386 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.036,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 49386 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithPointsSetToZero_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 49386 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:15 AM 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.032,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingAssignmentGroupUidWasChanged_whenSubmissionIsMadeBeforeSave_thenShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 49386 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.202,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:14 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 49386 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.peerreviewerallocationedit.PeerReviewerAllocationEditViewModelTest",
          "duration" : 0.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseWithSubmittersAndNoExistingAllocations_whenInitialized_thenShouldLoadSubmittersAndSetUid[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 8543 chars]...\u000aitViewModel$invokeSuspend - Number of submitters: 10\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER PeerReviewerAllocationEditViewModel$invokeSuspend - Number of submitters: 10\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM 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.07,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseWithSubmittersAndExistingAllocations_whenInitialized_thenShouldLoadSubmittersAndSetAllocations[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 8543 chars]...\u000aitViewModel$invokeSuspend - Number of submitters: 10\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER PeerReviewerAllocationEditViewModel$invokeSuspend - Number of submitters: 10\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.139,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.peerreviewerallocationedit.PeerReviewerAllocationEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 8543 chars]...\u000aitViewModel$invokeSuspend - Number of submitters: 10\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER PeerReviewerAllocationEditViewModel$invokeSuspend - Number of submitters: 10\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:15"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.submissionstab.ClazzAssignmentDetailSubmissionsTabViewModelTest",
          "duration" : 0.079,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenIndividualSubmissionAssignmentAndUserIsTeacher_whenInitiated_thenWillShowEnrolledStudentNamesAndSummaryTotals[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 3944 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ClazzEnrolment, CourseAssignmentSubmission, CourseAssignmentMark]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.079,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.submissionstab.ClazzAssignmentDetailSubmissionsTabViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 3944 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ClazzEnrolment, CourseAssignmentSubmission, CourseAssignmentMark]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:15"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.clazzmemberlist.ClazzMemberListViewModelTest",
          "duration" : 0.071,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveAccountHasAddPermissions_whenOnCreateCalled_thenShouldSetAddOptionsToBeVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 10748 chars]...\u000apierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM 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.06,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserDoesNotHaveAddPermissions_whenOnCreateCalled_thenShouldQueryDatabaseAndSetOnViewAndSetAddVisibleToFalse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 10748 chars]...\u000apierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.131,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzenrolment.clazzmemberlist.ClazzMemberListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 10748 chars]...\u000apierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:15"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.edit.ClazzEnrolmentEditViewModelTest",
          "duration" : 0.072,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenInitializedAndOnClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2 remoteEndpoint=http:/\u000a...[truncated 9100 chars]...\u000austadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM 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.075,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingLeavingReason_whenOnCreateAndHandleClickSaveCalled_thenValuesShouldBeSetOnViewAndDatabaseShouldBeUpdated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2 remoteEndpoint=http:/\u000a...[truncated 9100 chars]...\u000austadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.147,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzenrolment.edit.ClazzEnrolmentEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2 remoteEndpoint=http:/\u000a...[truncated 9100 chars]...\u000austadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:15"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
          "duration" : 0.068,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingLogsAndUserHasRecordAttendancePermission_whenInitiated_thenOptionIsToCreateNew[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 9644 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
          "duration" : 0.064,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingLogsAndUserHasRecordAttendancePermission_whenInitiated_thenOptionsIncludeCreateNewAndUpdate[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 9644 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM 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.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserDoesNotHaveRecordAttendancePermission_whenInitiated_thenNoRecordAttendanceOptions[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 9644 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.191,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 9644 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:15"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
          "duration" : 0.183,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecified_whenStatusUpdatedAndSaveClicked_thenShouldSaveIntoDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 26115 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM 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.07,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntityArgUidSpecified_whenCreated_thenShouldShowClazzLogAndEnrolledStudents[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 26115 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM 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.063,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecified_whenInitiated_thenShouldShowClazzLogAndEnrolledStudents[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 26115 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
          "duration" : 0.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecifiedAndPreviousClazzLogExists_whenGoPreviousSelected_thenShouldShowPreviouslyRecordedLogs[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 26115 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.385,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:15 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 26115 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:15"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.detailoverviewtab.ContentEntryDetailOverviewViewModelTest",
          "duration" : 0.04,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenContentEntryExists_whenLaunched_thenShouldShowContentEntry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 8311 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.04,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.detailoverviewtab.ContentEntryDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 8311 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.edit.ContentEntryEditViewModelTest",
          "duration" : 0.085,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenImportedMetadataArgProvided_whenSaved_thenShouldSaveToDatabaseAndCallImportContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 270 chars]...\u000a #2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[SystemPermission]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.085,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.edit.ContentEntryEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 270 chars]...\u000a #2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[SystemPermission]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.getmetadata.ContentEntryGetMetadataViewModelTest",
          "duration" : 0.061,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMetadataExtractedSuccessfully_whenInitialized_thenShouldNavigateToContentEntryEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_45889_.sqlite] - useNewConnectionAsyncInternal connection #14 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:45889/UmAppDatabase/ - endpoint=http\u000a...[truncated 6879 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM 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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMetadataExtractionFails_whenInitialized_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_45889_.sqlite] - useNewConnectionAsyncInternal connection #14 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:45889/UmAppDatabase/ - endpoint=http\u000a...[truncated 6879 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.084,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.getmetadata.ContentEntryGetMetadataViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_45889_.sqlite] - useNewConnectionAsyncInternal connection #14 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:45889/UmAppDatabase/ - endpoint=http\u000a...[truncated 6879 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.importlink.ContentEntryImportLinkViewModelTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExcpectedResultArg_whenUserEntersValidLink_thenWillReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core\u000a...[truncated 10422 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM 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.054,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExpectedResultArg_whenUserEntersInvalidLink_thenWillShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core\u000a...[truncated 10422 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM 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.054,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExpectedResultArgs_whenUserEntersValidLinkAndClicksNext_thenWillGoToContentEntryEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core\u000a...[truncated 10422 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.167,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.importlink.ContentEntryImportLinkViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core\u000a...[truncated 10422 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.detail.CourseGroupSetDetailViewModelTest",
          "duration" : 0.064,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseGroupSetWithMembers_whenInitiated_thenWillShowMembersListAndEditButton[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 834 chars]...\u000aHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CourseGroupSet, CourseGroupMember, CoursePermission, SystemPermission]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.064,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.detail.CourseGroupSetDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 834 chars]...\u000aHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CourseGroupSet, CourseGroupMember, CoursePermission, SystemPermission]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.edit.CourseGroupSetEditViewModelTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingGroupSet_whenInitiatedUpdatedAndSaved_thenWillShowExistingAssignmentsAndUpdateToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7206170047098810784 rem\u000a...[truncated 3185 chars]...\u000ae Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aJan 23, 2025 6:28:16 AM 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.054,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewGroupSetBeingCreated_whenInitiatedAssignedAndSaveClicked_thenShouldShowEnrolledStudentNamesAndDefaultGroupNumAndSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7206170047098810784 rem\u000a...[truncated 3185 chars]...\u000ae Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aJan 23, 2025 6:28:16 AM 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.edit.CourseGroupSetEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7206170047098810784 rem\u000a...[truncated 3185 chars]...\u000ae Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.list.CourseGroupSetListViewModelTest",
          "duration" : 0.06,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseGroupSetAndUserHasPermissionToAdd_whenInitiated_thenWillShowExistingGroupSetAndAddOption[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 3631 chars]...\u000azz, CourseGroupSet, CoursePermission]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CourseGroupSetListViewModel$invoke - CourseGroupSetList: set showAddItem visible = false\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.06,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.list.CourseGroupSetListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 3631 chars]...\u000azz, CourseGroupSet, CoursePermission]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CourseGroupSetListViewModel$invoke - CourseGroupSetList: set showAddItem visible = false\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.edit.CourseTerminologyEditViewModelTest",
          "duration" : 0.038,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseTerminology_whenOnCreateAndHandleClickSaveCalled_thenValuesShouldBeSetOnViewAndDatabaseShouldBeUpdated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=5563912071147118782 rem\u000a...[truncated 6475 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJan 23, 2025 6:28:16 AM 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.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=5563912071147118782 rem\u000a...[truncated 6475 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJan 23, 2025 6:28:16 AM 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.courseterminology.edit.CourseTerminologyEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=5563912071147118782 rem\u000a...[truncated 6475 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.list.CourseTerminologyListViewModelTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterNotYetCreated_whenOnCreateCalled_thenShouldQueryDatabaseAndSetOnView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=3575939275154156742 rem\u000a...[truncated 5974 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJan 23, 2025 6:28:16 AM 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.035,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInPickMode_whenOnClickEntryCalled_thenShouldReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=3575939275154156742 rem\u000a...[truncated 5974 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.094,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.courseterminology.list.CourseTerminologyListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=3575939275154156742 rem\u000a...[truncated 5974 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidUsernameAndPassword_whenFromDestinationArgumentIsProvidedAndHandleLoginClicked_shouldGoToNextScreenAndInvalidateSync[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER LoginViewModel$goToNextDestAfterLoginOrGuestSelected - LoginPresenter: go to next destination: nextDummyDestination\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - \u000a...[truncated 27058 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.041,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenGuestConnectionAllowedOrNot_whenCreated_thenGuestButtonVisibiltyShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER LoginViewModel$goToNextDestAfterLoginOrGuestSelected - LoginPresenter: go to next destination: nextDummyDestination\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - \u000a...[truncated 27058 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.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEmptyUsernameAndPassword_whenLoginCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER LoginViewModel$goToNextDestAfterLoginOrGuestSelected - LoginPresenter: go to next destination: nextDummyDestination\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - \u000a...[truncated 27058 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" : "givenInvalidUsernameAndPassword_whenHandleLoginCalled_thenShouldCallSetErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER LoginViewModel$goToNextDestAfterLoginOrGuestSelected - LoginPresenter: go to next destination: nextDummyDestination\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - \u000a...[truncated 27058 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" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER LoginViewModel$goToNextDestAfterLoginOrGuestSelected - LoginPresenter: go to next destination: nextDummyDestination\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - \u000a...[truncated 27058 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.003,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenServerOffline_whenCreated_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER LoginViewModel$goToNextDestAfterLoginOrGuestSelected - LoginPresenter: go to next destination: nextDummyDestination\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - \u000a...[truncated 27058 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.087,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER LoginViewModel$goToNextDestAfterLoginOrGuestSelected - LoginPresenter: go to next destination: nextDummyDestination\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - \u000a...[truncated 27058 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-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.parentalconsentmanagement.ParentalConsentManagementViewModelTest",
          "duration" : 0.072,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonParentJoinHasNoParentYet_whenOpened_thenShouldSetParentAndApprovalStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=3327407479172292923 remoteEndpoint=http://localhost.localdomain:42671/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 12185 chars]...\u000ary:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.072,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.parentalconsentmanagement.ParentalConsentManagementViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=3327407479172292923 remoteEndpoint=http://localhost.localdomain:42671/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 12185 chars]...\u000ary:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aJan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
          "duration" : 0.061,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetails_whenOpenedActivePersonDetailPersonAndCanManageAccount_thenChangePasswordShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=6688772485123665825 remoteEndpoint=http://localhost.localdomain:55285/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 45072 chars]...\u000ale.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17 AM 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.061,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserIsParent_whenOpenChildProfile_thenShouldShowManageParentalConsent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=6688772485123665825 remoteEndpoint=http://localhost.localdomain:55285/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 45072 chars]...\u000ale.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17 AM 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.314,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserIsNotParent_whenOpenChildProfile_thenShouldShowManageParentalConsent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=6688772485123665825 remoteEndpoint=http://localhost.localdomain:55285/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 45072 chars]...\u000ale.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17 AM 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.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetailsAndAdminLogged_whenPersonUsernameIsNullAndCanManageAccount_thenCreateAccountShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=6688772485123665825 remoteEndpoint=http://localhost.localdomain:55285/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 45072 chars]...\u000ale.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17 AM 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.064,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetails_whenPersonUsernameIsNullAndCantManageAccount_thenCreateAccountShouldBeHidden[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=6688772485123665825 remoteEndpoint=http://localhost.localdomain:55285/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 45072 chars]...\u000ale.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17 AM 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.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetailsAndAdminLogged_whenPersonUsernameIsNotNullAndCanManageAccount_thenChangePasswordShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=6688772485123665825 remoteEndpoint=http://localhost.localdomain:55285/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 45072 chars]...\u000ale.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.624,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:16 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=6688772485123665825 remoteEndpoint=http://localhost.localdomain:55285/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 45072 chars]...\u000ale.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenDateOfBirthNotFilledClickSave_shouldShowErrors[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 30721 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM 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.045,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidPhoneNumberIncluded_whenSaved_shouldValidatePhoneNumberAndShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 30721 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM 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.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPhoneNumberIncluded_whenSaved_shouldValidatePhoneNumberAndShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 30721 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM 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.046,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInNonRegistrationMode_whenFormFilledAndClickSave_shouldSaveAPersonInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 30721 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM 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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegisterMinorMode_whenFormFilledAndClickSave_thenShouldGoToWaitForParentScreen[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 30721 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM 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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenUsernameAndPasswordNotFilledClickSave_shouldShowErrors[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 30721 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM 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.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegisterMinorMode_whenNoParentEmailGiven_thenShouldShowFieldRequiredError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 30721 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM 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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenFormFilledAndClickSave_shouldRegisterAPerson[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 30721 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.26,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 30721 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:17"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.registerageredirect.RegisterAgeRedirectViewModelTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthNotSet_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 11600 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM 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.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthIsNotAMinor_whenOnClickNextCalled_thenShouldGoToTerms[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 11600 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.registerageredirect.RegisterAgeRedirectViewModelTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthTodayOrInFuture_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 11600 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM 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.person.registerageredirect.RegisterAgeRedirectViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJan 23, 2025 6:28:17\u000a...[truncated 11600 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:17"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidSchedule_whenClickSave_thenShouldFinishWithResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core\u000a...[truncated 28653 chars]...\u000an(Thread.java:840)\u000a\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM 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.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleStartAfterEndTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core\u000a...[truncated 28653 chars]...\u000an(Thread.java:840)\u000a\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM 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.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleHasNoEndTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core\u000a...[truncated 28653 chars]...\u000an(Thread.java:840)\u000a\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleHasNoStartTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core\u000a...[truncated 28653 chars]...\u000an(Thread.java:840)\u000a\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.096,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:17 AM com.ustadmobile.core\u000a...[truncated 28653 chars]...\u000an(Thread.java:840)\u000a\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:17"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.siteenterlink.LearningSpaceEnterLinkViewModelTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidLinkEntered_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core\u000a...[truncated 15365 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.siteenterlink.LearningSpaceEnterLinkViewModelTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLinkEntered_whenOnClickNextCalled_thenShouldNavigateToNextScreen[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core\u000a...[truncated 15365 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.047,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.siteenterlink.LearningSpaceEnterLinkViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core\u000a...[truncated 15365 chars]...\u000aeScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.videocontent.VideoContentViewModelTest",
          "duration" : 1.078,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenVideoPlayStarted_whenCleared_thenShouldRecordStatement[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core\u000a...[truncated 63076 chars]...\u000aduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.078,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.videocontent.VideoContentViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJan 23, 2025 6:28:18 AM com.ustadmobile.core\u000a...[truncated 63076 chars]...\u000aduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.xapicontent.XapiContentViewModelTest",
          "duration" : 0.192,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiUrl_whenStarted_thenShouldSetContentUrl[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=4000614890041083053 rem\u000a...[truncated 8676 chars]...\u000attp%3A%2F%2Flocalhost%2Fe%2Fendpoint%2Fxapi&auth=Basic+MDpudWxs&actor=%7B%22name%22%3Anull%2C%22mbox%22%3Anull%2C%22mbox_sha1sum%22%3Anull%2C%22openid%22%3Anull%2C%22objectType%22%3A%22Agent%22%2C%22account%22%3A%7B%22homePage%22%3A%22http%3A%2F%2Flocalhost%2F%22%2C%22name%22%3A%22admin%22%7D%7D&registration=00000000-0000-0000-0000-000000000000&activity_id=\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.192,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.xapicontent.XapiContentViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=4000614890041083053 rem\u000a...[truncated 8676 chars]...\u000attp%3A%2F%2Flocalhost%2Fe%2Fendpoint%2Fxapi&auth=Basic+MDpudWxs&actor=%7B%22name%22%3Anull%2C%22mbox%22%3Anull%2C%22mbox_sha1sum%22%3Anull%2C%22openid%22%3Anull%2C%22objectType%22%3A%22Agent%22%2C%22account%22%3A%7B%22homePage%22%3A%22http%3A%2F%2Flocalhost%2F%22%2C%22name%22%3A%22admin%22%7D%7D&registration=00000000-0000-0000-0000-000000000000&activity_id=\u000aJan 23, 2025 6:28:19 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:28:19"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.547,
          "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.051,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEmptyFileStored_whenRequestMade_thenWillBeRetrievedAsCacheHit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotStored_whenRetrieved_thenWillReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.055,
          "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.037,
          "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.015,
          "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.057,
          "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.022,
          "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.023,
          "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.035,
          "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.031,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileCachedAndStored_whenPartialRequestMade_thenWillReceivePartialData[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.916,
      "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-01-23T06:23:47"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheTrimmerTest",
          "duration" : 0.099,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntriesExceedSize_whenTrimRun_thenWillEvictRequiredEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.099,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.UstadCacheTrimmerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:23:48"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
          "duration" : 0.005,
          "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.007,
          "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.004,
          "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.021,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:23:48"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPartialResponse_whenChecked_notCacheable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "given200OkResponse_whenChecked_isCacheable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoStoreInHeader_whenChecked_notCacheable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:23:48"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.distributed.DistributedCacheHashtableIntegrationTest",
          "duration" : 0.655,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTwoNeighborCaches_whenDiscovered_thenCanDownloadFromOther[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "Fucking done, what the fuck, it's fuckin done, fuck it\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.distributed.DistributedCacheHashtableIntegrationTest",
          "duration" : 1.103,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTwoNeighborCachesDiscovered_thenPingTimesWillBeDetermined[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "Fucking done, what the fuck, it's fuckin done, fuck it\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.distributed.DistributedCacheHashtableIntegrationTest",
          "duration" : 0.163,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTwoNeighborCaches_whenDiscovered_thenShouldExchangeAvailabilityInfo[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "Fucking done, what the fuck, it's fuckin done, fuck it\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.distributed.DistributedCacheHashtableIntegrationTest",
          "duration" : 0.268,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTwoNeighborCachesDiscovered_whenNewEntryAdded_thenOtherNodeWillAddToDistributedHash[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "Fucking done, what the fuck, it's fuckin done, fuck it\u000a"
        }
      ],
      "duration" : 2.19,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.distributed.DistributedCacheHashtableIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "Fucking done, what the fuck, it's fuckin done, fuck it\u000a",
      "timestamp" : "2025-01-23T06:23:48"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.distributed.http.DistributedCacheHttpEndpointTest",
          "duration" : 2.123,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequest_willForwardToCache[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 2.123,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.distributed.http.DistributedCacheHttpEndpointTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:23:50"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.distributed.model.DistributedHashEntriesTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntriesSerialized_whenDeserialized_thenWillBeEqual[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.distributed.model.DistributedHashEntriesTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPingSerialized_whenDeserialized_thenWillBeEqual[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.distributed.model.DistributedHashEntriesTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:23:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
          "duration" : 0.003,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRange_whenReadInSameIncrementAsBuffer_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRange_whenRead_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.004,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:23:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.795,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenImmutableEntryWasCached_whenRequested_thenCacheWillHit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:52 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(57536 cache1) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 31457036 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.126,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableEntryNotYetCachedAlreadyEncoded_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:52 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(57536 cache1) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 31457036 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.063,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseHasNoStoreHeader_whenRequested_thenIsNotStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:52 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(57536 cache1) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 31457036 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.168,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponsePartiallyStored_whenRequestedWithResumeUuid_thenWillResume[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:52 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(57536 cache1) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 31457036 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.109,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotYetCached_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:52 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(57536 cache1) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 31457036 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.169,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryIsStaleAndValidatable_whenRequested_thenIsValidated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:52 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(57536 cache1) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 31457036 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.093,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableEntryNotYetCachedNotEncoded_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:52 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(57536 cache1) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 31457036 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequestNotStorable_whenRequested_thenIsNotStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:52 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(57536 cache1) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 31457036 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.548,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:23:52 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(57536 cache1) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 31457036 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:23:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRangeWithStartToEnd_whenParsed_thenMatches[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:54 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(56006 cache2) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 253928 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRangeWhereLastByteAfterTotalBytes_whenParsed_thenThrowsRangeNotSatisfiableException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jan 23, 2025 6:23:54 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(56006 cache2) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 253928 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "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" : "Jan 23, 2025 6:23:54 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(56006 cache2) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 253928 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "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" : "Jan 23, 2025 6:23:54 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(56006 cache2) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 253928 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "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" : "Jan 23, 2025 6:23:54 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(56006 cache2) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 253928 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.partial.ContentRangeTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jan 23, 2025 6:23:54 AM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DistCache - DistributedCacheHashtable(56006 cache2) exception reading incoming packet\u000ajava.net.SocketException: Socket closed\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:252)\u000a\u0009at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:700)\u000a\u0009at com.ustadmobile.libcache.distributed.DistributedCacheHashtable$ReceivePacketsRunnable.run(DistributedCacheHashtable.kt:\u000a...[truncated 253928 chars]...\u000adPoolExecutor.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000aCaused by: java.nio.channels.ClosedChannelException\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.ensureOpen(DatagramChannelImpl.java:267)\u000a\u0009at java.base/sun.nio.ch.DatagramChannelImpl.blockingReceive(DatagramChannelImpl.java:624)\u000a\u0009at java.base/sun.nio.ch.DatagramSocketAdaptor.receive(DatagramSocketAdaptor.java:240)\u000a\u0009... 8 more\u000a\u000a",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:23:54"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
          "duration" : 0.016,
          "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.001,
          "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.017,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:22:09"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.013,
          "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.013,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestRangeUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:22:09"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestSysPathUtil",
          "duration" : 0.006,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCommandInPathOnWindows_whenCommandInPathCalled_thenReturnsFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestSysPathUtil",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCommandNotInPathOnWindows_whenCommandInPathCalled_thenReturnsNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestSysPathUtil",
          "duration" : 0.001,
          "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.008,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestSysPathUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:22:09"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.commonjvmimpl.XXHashJvmTest",
          "duration" : 0.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenString_whenInvoked_willHash[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "a96086d5c2cb52a9\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.commonjvmimpl.XXHashJvmTest",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongArray_whenInvoked_thenWillHash[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "a96086d5c2cb52a9\u000a"
        }
      ],
      "duration" : 0.028,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.xxhashkmp.commonjvmimpl.XXHashJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "a96086d5c2cb52a9\u000a",
      "timestamp" : "2025-01-23T06:22:10"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.jsimpl.XXHashJsTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "test[js, browser, ChromeHeadless132.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.jsimpl.XXHashJsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongArray_whenInvoked_thenWillHash[js, browser, ChromeHeadless132.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.xxhashkmp.jsimpl.XXHashJsTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:22:24"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.461,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPutRequestWithBody_whenParseRequestBodyCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "06:27:40,970 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a06:27:40,971 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - No custom configurators were discovered as a service.\u000a06:27:40,971 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a06:27:40,972 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - Constructed \u000a...[truncated 3710 chars]...\u000alevel of logger [io.netty] to INFO\u000a06:27:41,070 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4da602fc - End of configuration.\u000a06:27:41,071 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2a8d39c4 - Registering current configuration as safe fallback point\u000a06:27:41,071 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 93 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.016,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLargerPostRequestWithBody_whenParseRequestCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "06:27:40,970 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a06:27:40,971 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - No custom configurators were discovered as a service.\u000a06:27:40,971 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a06:27:40,972 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - Constructed \u000a...[truncated 3710 chars]...\u000alevel of logger [io.netty] to INFO\u000a06:27:41,070 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4da602fc - End of configuration.\u000a06:27:41,071 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2a8d39c4 - Registering current configuration as safe fallback point\u000a06:27:41,071 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 93 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.016,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSmallPostRequestWithBody_whenParseRequestCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "06:27:40,970 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a06:27:40,971 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - No custom configurators were discovered as a service.\u000a06:27:40,971 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a06:27:40,972 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - Constructed \u000a...[truncated 3710 chars]...\u000alevel of logger [io.netty] to INFO\u000a06:27:41,070 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4da602fc - End of configuration.\u000a06:27:41,071 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2a8d39c4 - Registering current configuration as safe fallback point\u000a06:27:41,071 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 93 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 0.493,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "06:27:40,970 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a06:27:40,971 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - No custom configurators were discovered as a service.\u000a06:27:40,971 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a06:27:40,972 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - Constructed \u000a...[truncated 3710 chars]...\u000alevel of logger [io.netty] to INFO\u000a06:27:41,070 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4da602fc - End of configuration.\u000a06:27:41,071 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2a8d39c4 - Registering current configuration as safe fallback point\u000a06:27:41,071 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4b20ca2b - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 93 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-01-23T06:27:40"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.TestHtmlFilterSerializer",
          "duration" : 0.042,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenXhtmlWithEntities_whenFiltered_thenShouldParseSuccessfully[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.TestHtmlFilterSerializer",
          "duration" : 0.008,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXhtmlPage_whenFiltered_thenShouldParseSuccessfully[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.05,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.impl.http.TestHtmlFilterSerializer",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:41"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.util.UmZipUtilTest",
          "duration" : 0.039,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAnEpubFile_whenUnzipped_thenAllFilesShouldBeAvailable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.039,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.util.UmZipUtilTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-01-23T06:27:41"
    }
  ]
}