Class com.ustadmobile.core.viewmodel.login.LoginViewModelTest

6

tests

0

failures

0

ignored

0.095s

duration

100%

successful

Tests

Test Method name Duration Result
givenEmptyUsernameAndPassword_whenLoginCalled_thenShouldShowError[jvm] givenEmptyUsernameAndPassword_whenLoginCalled_thenShouldShowError 0.028s passed
givenGuestConnectionAllowedOrNot_whenCreated_thenGuestButtonVisibiltyShouldMatch[jvm] givenGuestConnectionAllowedOrNot_whenCreated_thenGuestButtonVisibiltyShouldMatch 0.044s passed
givenInvalidUsernameAndPassword_whenHandleLoginCalled_thenShouldCallSetErrorMessage[jvm] givenInvalidUsernameAndPassword_whenHandleLoginCalled_thenShouldCallSetErrorMessage 0.004s passed
givenServerOffline_whenCreated_thenShouldShowErrorMessage[jvm] givenServerOffline_whenCreated_thenShouldShowErrorMessage 0.003s passed
givenUsernameOrPasswordContainsSpacePadding_whenLoginCalled_thenShouldTrimSpace[jvm] givenUsernameOrPasswordContainsSpacePadding_whenLoginCalled_thenShouldTrimSpace 0.004s passed
givenValidUsernameAndPassword_whenFromDestinationArgumentIsProvidedAndHandleLoginClicked_shouldGoToNextScreenAndInvalidateSync[jvm] givenValidUsernameAndPassword_whenFromDestinationArgumentIsProvidedAndHandleLoginClicked_shouldGoToNextScreenAndInvalidateSync 0.012s passed

Standard error

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
FINE: FINER LoginViewModel$goToNextDestAfterLoginOrGuestSelected - LoginPresenter: go to next destination: nextDummyDestination
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
FINE: FINER DoorLog - Closed HikariDataSource connection pool
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
SEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
SEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
WARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=3356730094697555891 remoteEndpoint=http://localhost.localdomain:50583/UmAppDatabase/] : onError
java.io.IOException: other event source error
	at com.ustadmobile.door.sse.DoorEventSource$eventSourceListener$1.onFailure(DoorEventSource.kt:44)
	at okhttp3.internal.sse.RealEventSource.processResponse(RealEventSource.kt:52)
	at okhttp3.internal.sse.RealEventSource.onResponse(RealEventSource.kt:46)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
WARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=3356730094697555891 remoteEndpoint=http://localhost.localdomain:50583/UmAppDatabase/] : onError
java.io.IOException: other event source error
	at com.ustadmobile.door.sse.DoorEventSource$eventSourceListener$1.onFailure(DoorEventSource.kt:44)
	at okhttp3.internal.sse.RealEventSource.processResponse(RealEventSource.kt:52)
	at okhttp3.internal.sse.RealEventSource.onResponse(RealEventSource.kt:46)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
SEVERE: SEVERE DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@7e478143 - http://localhost.localdomain:50583/UmAppDatabase/replication/sse?door-node=3356730094697555891%2Fecf17fe1-3825-4d82-a72b-b6fd1ec50587] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
SEVERE: SEVERE DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@7e478143 - http://localhost.localdomain:50583/UmAppDatabase/replication/sse?door-node=3356730094697555891%2Fecf17fe1-3825-4d82-a72b-b6fd1ec50587] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
FINE: FINER DoorLog - Closed HikariDataSource connection pool
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
SEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:230)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
SEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:230)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
FINE: FINER DoorLog - Closed HikariDataSource connection pool
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
INFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
SEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
SEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
FINE: FINER LoginViewModel$goToNextDestAfterLoginOrGuestSelected - LoginPresenter: go to next destination: CourseListHome
Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
WARNING: WARNING LoginViewModel$invokeSuspend - Could not load site object for http://localhost:79/
java.net.ConnectException: Failed to connect to localhost/127.0.0.1:79
	at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42)
	at io.ktor.client.engine.okhttp.OkHttpEngine.executeHttpRequest(OkHttpEngine.kt:103)
	at io.ktor.client.engine.okhttp.OkHttpEngine.execute(OkHttpEngine.kt:70)
	at io.ktor.client.engine.HttpClientEngine$executeWithinCallContext$2.invokeSuspend(HttpClientEngine.kt:99)
	at io.ktor.client.engine.HttpClientEngine$DefaultImpls.executeWithinCallContext(HttpClientEngine.kt:100)
	at io.ktor.client.engine.HttpClientEngine$install$1.invokeSuspend(HttpClientEngine.kt:70)
	at io.ktor.client.plugins.HttpSend$DefaultSender.execute(HttpSend.kt:138)
	at io.ktor.client.plugins.HttpTimeout$Plugin$install$1.invokeSuspend(HttpTimeout.kt:174)
	at io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invokeSuspend(HttpRedirect.kt:64)
	at io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invokeSuspend(HttpCallValidator.kt:151)
	at io.ktor.client.plugins.HttpSend$Plugin$install$1.invokeSuspend(HttpSend.kt:104)
	at io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invokeSuspend(HttpCallValidator.kt:130)
	at io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invokeSuspend(HttpRequestLifecycle.kt:38)
	at io.ktor.client.HttpClient.execute$ktor_client_core(HttpClient.kt:191)
	at io.ktor.client.statement.HttpStatement.executeUnsafe(HttpStatement.kt:108)
	at io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:47)
	at com.ustadmobile.core.util.ext.HttpClientExtKt.verifySite(HttpClientExt.kt:35)
	at com.ustadmobile.core.viewmodel.login.LoginViewModel$4.invokeSuspend(LoginViewModel.kt:160)
Caused by: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:79
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:297)
	at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:207)
	at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
	at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
	at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
	at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.net.ConnectException: Connection refused
	at java.base/sun.nio.ch.Net.pollConnect(Native Method)
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
	at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
	at java.base/java.net.Socket.connect(Socket.java:633)
	at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)
	... 18 more

Jun 04, 2025 12:12:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog
WARNING: WARNING LoginViewModel$invokeSuspend - Could not load site object for http://localhost:79/
java.net.ConnectException: Failed to connect to localhost/127.0.0.1:79
	at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42)
	at io.ktor.client.engine.okhttp.OkHttpEngine.executeHttpRequest(OkHttpEngine.kt:103)
	at io.ktor.client.engine.okhttp.OkHttpEngine.execute(OkHttpEngine.kt:70)
	at io.ktor.client.engine.HttpClientEngine$executeWithinCallContext$2.invokeSuspend(HttpClientEngine.kt:99)
	at io.ktor.client.engine.HttpClientEngine$DefaultImpls.executeWithinCallContext(HttpClientEngine.kt:100)
	at io.ktor.client.engine.HttpClientEngine$install$1.invokeSuspend(HttpClientEngine.kt:70)
	at io.ktor.client.plugins.HttpSend$DefaultSender.execute(HttpSend.kt:138)
	at io.ktor.client.plugins.HttpTimeout$Plugin$install$1.invokeSuspend(HttpTimeout.kt:174)
	at io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invokeSuspend(HttpRedirect.kt:64)
	at io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invokeSuspend(HttpCallValidator.kt:151)
	at io.ktor.client.plugins.HttpSend$Plugin$install$1.invokeSuspend(HttpSend.kt:104)
	at io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invokeSuspend(HttpCallValidator.kt:130)
	at io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invokeSuspend(HttpRequestLifecycle.kt:38)
	at io.ktor.client.HttpClient.execute$ktor_client_core(HttpClient.kt:191)
	at io.ktor.client.statement.HttpStatement.executeUnsafe(HttpStatement.kt:108)
	at io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:47)
	at com.ustadmobile.core.util.ext.HttpClientExtKt.verifySite(HttpClientExt.kt:35)
	at com.ustadmobile.core.viewmodel.login.LoginViewModel$4.invokeSuspend(LoginViewModel.kt:160)
Caused by: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:79
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:297)
	at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:207)
	at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
	at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
	at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
	at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.net.ConnectException: Connection refused
	at java.base/sun.nio.ch.Net.pollConnect(Native Method)
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
	at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
	at java.base/java.net.Socket.connect(Socket.java:633)
	at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)
	... 18 more