Cleanup tests.

This commit is contained in:
Benoit Marty
2025-09-01 15:03:41 +02:00
parent 5f223f3c89
commit a00623e490
9 changed files with 64 additions and 58 deletions

View File

@@ -20,12 +20,12 @@ import org.junit.Test
class AppMigration02Test {
@Test
fun `test migration`() = runTest {
val sessionStore = InMemorySessionStore().apply {
updateData(aSessionData())
}
val sessionStore = InMemorySessionStore(
initialList = listOf(aSessionData()),
)
val sessionPreferencesStore = InMemorySessionPreferencesStore(isSessionVerificationSkipped = false)
val sessionPreferencesStoreFactory = FakeSessionPreferencesStoreFactory(
getLambda = lambdaRecorder { _, _, -> sessionPreferencesStore },
getLambda = lambdaRecorder { _, _ -> sessionPreferencesStore },
removeLambda = lambdaRecorder { _ -> }
)
val migration = AppMigration02(sessionStore = sessionStore, sessionPreferenceStoreFactory = sessionPreferencesStoreFactory)

View File

@@ -18,14 +18,14 @@ import java.io.File
class AppMigration05Test {
@Test
fun `empty session path should be set to an expected path`() = runTest {
val sessionStore = InMemorySessionStore().apply {
updateData(
val sessionStore = InMemorySessionStore(
initialList = listOf(
aSessionData(
sessionId = A_SESSION_ID.value,
sessionPath = "",
)
)
}
)
val migration = AppMigration05(sessionStore = sessionStore, baseDirectory = File("/a/path"))
migration.migrate()
val storedData = sessionStore.getSession(A_SESSION_ID.value)!!
@@ -34,14 +34,14 @@ class AppMigration05Test {
@Test
fun `non empty session path should not be impacted by the migration`() = runTest {
val sessionStore = InMemorySessionStore().apply {
updateData(
val sessionStore = InMemorySessionStore(
initialList = listOf(
aSessionData(
sessionId = A_SESSION_ID.value,
sessionPath = "/a/path/existing",
)
)
}
)
val migration = AppMigration05(sessionStore = sessionStore, baseDirectory = File("/a/path"))
migration.migrate()
val storedData = sessionStore.getSession(A_SESSION_ID.value)!!

View File

@@ -18,15 +18,15 @@ import java.io.File
class AppMigration06Test {
@Test
fun `empty cache path should be set to an expected path`() = runTest {
val sessionStore = InMemorySessionStore().apply {
updateData(
val sessionStore = InMemorySessionStore(
initialList = listOf(
aSessionData(
sessionId = A_SESSION_ID.value,
sessionPath = "/a/path/to/a/session/AN_ID",
cachePath = "",
)
)
}
)
val migration = AppMigration06(sessionStore = sessionStore, cacheDirectory = File("/a/path/cache"))
migration.migrate()
val storedData = sessionStore.getSession(A_SESSION_ID.value)!!
@@ -35,14 +35,14 @@ class AppMigration06Test {
@Test
fun `non empty cache path should not be impacted by the migration`() = runTest {
val sessionStore = InMemorySessionStore().apply {
updateData(
val sessionStore = InMemorySessionStore(
initialList = listOf(
aSessionData(
sessionId = A_SESSION_ID.value,
cachePath = "/a/path/existing",
)
)
}
)
val migration = AppMigration05(sessionStore = sessionStore, baseDirectory = File("/a/path/cache"))
migration.migrate()
val storedData = sessionStore.getSession(A_SESSION_ID.value)!!

View File

@@ -104,9 +104,9 @@ class DefaultBugReporterTest {
)
server.start()
val mockSessionStore = InMemorySessionStore().apply {
storeData(aSessionData(sessionId = "@foo:example.com", deviceId = "ABCDEFGH"))
}
val mockSessionStore = InMemorySessionStore(
initialList = listOf(aSessionData(sessionId = "@foo:example.com", deviceId = "ABCDEFGH"))
)
val fakeEncryptionService = FakeEncryptionService()
val matrixClient = FakeMatrixClient(encryptionService = fakeEncryptionService)
@@ -165,9 +165,9 @@ class DefaultBugReporterTest {
)
server.start()
val mockSessionStore = InMemorySessionStore().apply {
storeData(aSessionData("@foo:example.com", "ABCDEFGH"))
}
val mockSessionStore = InMemorySessionStore(
initialList = listOf(aSessionData("@foo:example.com", "ABCDEFGH"))
)
val fakeEncryptionService = FakeEncryptionService()
val matrixClient = FakeMatrixClient(encryptionService = fakeEncryptionService)
@@ -308,9 +308,9 @@ class DefaultBugReporterTest {
fun `the log directory is initialized using the last session store data`() = runTest {
val sut = createDefaultBugReporter(
buildMeta = aBuildMeta(isEnterpriseBuild = true),
sessionStore = InMemorySessionStore().apply {
storeData(aSessionData(sessionId = "@alice:domain.com"))
}
sessionStore = InMemorySessionStore(
initialList = listOf(aSessionData(sessionId = "@alice:domain.com"))
)
)
assertThat(sut.logDirectory().absolutePath).endsWith("/cache/logs/domain.com")
}
@@ -318,9 +318,9 @@ class DefaultBugReporterTest {
@Test
fun `foss build - the log directory is initialized to the root log directory`() = runTest {
val sut = createDefaultBugReporter(
sessionStore = InMemorySessionStore().apply {
storeData(aSessionData(sessionId = "@alice:domain.com"))
}
sessionStore = InMemorySessionStore(
initialList = listOf(aSessionData(sessionId = "@alice:domain.com"))
)
)
assertThat(sut.logDirectory().absolutePath).endsWith("/cache/logs")
}

View File

@@ -31,9 +31,9 @@ class SignedOutPresenterTest {
@Test
fun `present - initial state`() = runTest {
val aSessionData = aSessionData()
val sessionStore = InMemorySessionStore().apply {
storeData(aSessionData)
}
val sessionStore = InMemorySessionStore(
initialList = listOf(aSessionData)
)
val presenter = createSignedOutPresenter(sessionStore = sessionStore)
moleculeFlow(RecompositionMode.Immediate) {
presenter.present()
@@ -48,9 +48,9 @@ class SignedOutPresenterTest {
@Test
fun `present - sign in again`() = runTest {
val aSessionData = aSessionData()
val sessionStore = InMemorySessionStore().apply {
storeData(aSessionData)
}
val sessionStore = InMemorySessionStore(
initialList = listOf(aSessionData)
)
val presenter = createSignedOutPresenter(sessionStore = sessionStore)
moleculeFlow(RecompositionMode.Immediate) {
presenter.present()

View File

@@ -23,13 +23,14 @@ import org.junit.Test
class RustClientSessionDelegateTest {
@Test
fun `saveSessionInKeychain should update the store`() = runTest {
val sessionStore = InMemorySessionStore()
sessionStore.storeData(
val sessionStore = InMemorySessionStore(
initialList = listOf(
aSessionData(
accessToken = "anAccessToken",
refreshToken = "aRefreshToken",
)
)
)
val sut = aRustClientSessionDelegate(sessionStore)
sut.saveSessionInKeychain(
aRustSession(

View File

@@ -24,14 +24,15 @@ class SessionPathsProviderTest {
@Test
fun `if session is found, provides returns the data`() = runTest {
val store = InMemorySessionStore()
val sut = SessionPathsProvider(store)
store.storeData(
val store = InMemorySessionStore(
initialList = listOf(
aSessionData(
sessionPath = "/a/path/to/a/session",
cachePath = "/a/path/to/a/cache",
)
)
)
val sut = SessionPathsProvider(store)
val result = sut.provides(A_SESSION_ID)!!
assertThat(result.fileDirectory.absolutePath).isEqualTo("/a/path/to/a/session")
assertThat(result.cacheDirectory.absolutePath).isEqualTo("/a/path/to/a/cache")

View File

@@ -49,11 +49,13 @@ class DefaultFirebaseNewTokenHandlerTest {
val registerPusherResult = lambdaRecorder<MatrixClient, String, String, Result<Unit>> { _, _, _ -> Result.success(Unit) }
val pusherSubscriber = FakePusherSubscriber(registerPusherResult = registerPusherResult)
val firebaseNewTokenHandler = createDefaultFirebaseNewTokenHandler(
sessionStore = InMemorySessionStore().apply {
storeData(aSessionData(A_USER_ID.value))
storeData(aSessionData(A_USER_ID_2.value))
storeData(aSessionData(A_USER_ID_3.value))
},
sessionStore = InMemorySessionStore(
initialList = listOf(
aSessionData(A_USER_ID.value),
aSessionData(A_USER_ID_2.value),
aSessionData(A_USER_ID_3.value),
)
),
matrixClientProvider = FakeMatrixClientProvider { sessionId ->
when (sessionId) {
A_USER_ID -> Result.success(aMatrixClient1)
@@ -88,9 +90,9 @@ class DefaultFirebaseNewTokenHandlerTest {
val registerPusherResult = lambdaRecorder<MatrixClient, String, String, Result<Unit>> { _, _, _ -> Result.success(Unit) }
val pusherSubscriber = FakePusherSubscriber(registerPusherResult = registerPusherResult)
val firebaseNewTokenHandler = createDefaultFirebaseNewTokenHandler(
sessionStore = InMemorySessionStore().apply {
storeData(aSessionData(A_USER_ID.value))
},
sessionStore = InMemorySessionStore(
initialList = listOf(aSessionData(A_USER_ID.value))
),
matrixClientProvider = FakeMatrixClientProvider {
Result.failure(IllegalStateException())
},
@@ -112,9 +114,9 @@ class DefaultFirebaseNewTokenHandlerTest {
val registerPusherResult = lambdaRecorder<MatrixClient, String, String, Result<Unit>> { _, _, _ -> Result.failure(AN_EXCEPTION) }
val pusherSubscriber = FakePusherSubscriber(registerPusherResult = registerPusherResult)
val firebaseNewTokenHandler = createDefaultFirebaseNewTokenHandler(
sessionStore = InMemorySessionStore().apply {
storeData(aSessionData(A_USER_ID.value))
},
sessionStore = InMemorySessionStore(
initialList = listOf(aSessionData(A_USER_ID.value))
),
matrixClientProvider = FakeMatrixClientProvider {
Result.success(aMatrixClient1)
},

View File

@@ -15,8 +15,10 @@ import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.map
class InMemorySessionStore : SessionStore {
private val sessionDataListFlow = MutableStateFlow<List<SessionData>>(emptyList())
class InMemorySessionStore(
initialList: List<SessionData> = emptyList(),
) : SessionStore {
private val sessionDataListFlow = MutableStateFlow(initialList)
override fun isLoggedIn(): Flow<LoggedInState> {
return sessionDataListFlow.map {