From 8e819d48edd47882a8154b96cfd97b72c29707f3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 5 Sep 2025 15:59:36 +0200 Subject: [PATCH] Rename API and update test. --- .../libraries/sessionstorage/api/SessionStore.kt | 2 +- .../sessionstorage/impl/DatabaseSessionStore.kt | 2 +- .../sessionstorage/impl/DatabaseSessionStoreTest.kt | 10 ++++++---- .../sessionstorage/test/InMemorySessionStore.kt | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/libraries/session-storage/api/src/main/kotlin/io/element/android/libraries/sessionstorage/api/SessionStore.kt b/libraries/session-storage/api/src/main/kotlin/io/element/android/libraries/sessionstorage/api/SessionStore.kt index 74171c7a80..50e9c6f787 100644 --- a/libraries/session-storage/api/src/main/kotlin/io/element/android/libraries/sessionstorage/api/SessionStore.kt +++ b/libraries/session-storage/api/src/main/kotlin/io/element/android/libraries/sessionstorage/api/SessionStore.kt @@ -11,7 +11,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map interface SessionStore { - fun isLoggedIn(): Flow + fun loggedInStateFlow(): Flow fun sessionsFlow(): Flow> suspend fun addSession(sessionData: SessionData) diff --git a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt b/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt index 72e2a41c57..f74676427d 100644 --- a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt +++ b/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt @@ -33,7 +33,7 @@ class DatabaseSessionStore( ) : SessionStore { private val sessionDataMutex = Mutex() - override fun isLoggedIn(): Flow { + override fun loggedInStateFlow(): Flow { return database.sessionDataQueries.selectFirst() .asFlow() .mapToOneOrNull(dispatchers.io) diff --git a/libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTest.kt b/libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTest.kt index bac797270d..f05b15a0b7 100644 --- a/libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTest.kt +++ b/libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTest.kt @@ -54,12 +54,14 @@ class DatabaseSessionStoreTest { } @Test - fun `isLoggedIn emits true while there are sessions in the DB`() = runTest { - databaseSessionStore.isLoggedIn().test { + fun `loggedInStateFlow emits LoggedIn while there are sessions in the DB`() = runTest { + databaseSessionStore.loggedInStateFlow().test { assertThat(awaitItem()).isEqualTo(LoggedInState.NotLoggedIn) - database.sessionDataQueries.insertSessionData(aSessionData) + databaseSessionStore.addSession(aSessionData.toApiModel()) assertThat(awaitItem()).isEqualTo(LoggedInState.LoggedIn(sessionId = aSessionData.userId, isTokenValid = true)) - database.sessionDataQueries.removeSession(aSessionData.userId) + // TODO add more sessions in multi-account PR. + // Remove the first session + databaseSessionStore.removeSession(aSessionData.userId) assertThat(awaitItem()).isEqualTo(LoggedInState.NotLoggedIn) } } diff --git a/libraries/session-storage/test/src/main/kotlin/io/element/android/libraries/sessionstorage/test/InMemorySessionStore.kt b/libraries/session-storage/test/src/main/kotlin/io/element/android/libraries/sessionstorage/test/InMemorySessionStore.kt index 0ab12c72fb..eb1645fddf 100644 --- a/libraries/session-storage/test/src/main/kotlin/io/element/android/libraries/sessionstorage/test/InMemorySessionStore.kt +++ b/libraries/session-storage/test/src/main/kotlin/io/element/android/libraries/sessionstorage/test/InMemorySessionStore.kt @@ -20,7 +20,7 @@ class InMemorySessionStore( ) : SessionStore { private val sessionDataListFlow = MutableStateFlow(initialList) - override fun isLoggedIn(): Flow { + override fun loggedInStateFlow(): Flow { return sessionDataListFlow.map { if (it.isEmpty()) { LoggedInState.NotLoggedIn