Skip to content

Commit 4d66fb7

Browse files
committed
Fix tests
1 parent c540b61 commit 4d66fb7

File tree

3 files changed

+35
-17
lines changed

3 files changed

+35
-17
lines changed

libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ class DatabaseSessionStore(
134134
return database.sessionDataQueries.selectLatest()
135135
.executeAsOneOrNull()
136136
?.lastUsageIndex
137-
?: 0L
137+
?: -1L
138138
}
139139

140140
override suspend fun getLatestSession(): SessionData? {

libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTest.kt

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.google.common.truth.Truth.assertThat
1313
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
1414
import io.element.android.libraries.matrix.session.SessionData
1515
import io.element.android.libraries.sessionstorage.api.LoggedInState
16+
import io.element.android.libraries.sessionstorage.api.LoginType
1617
import kotlinx.coroutines.ExperimentalCoroutinesApi
1718
import kotlinx.coroutines.test.UnconfinedTestDispatcher
1819
import kotlinx.coroutines.test.runTest
@@ -122,7 +123,7 @@ class DatabaseSessionStoreTest {
122123
}
123124

124125
@Test
125-
fun `update session update all fields except loginTimestamp`() = runTest {
126+
fun `update session update all fields except info used by the application`() = runTest {
126127
val firstSessionData = SessionData(
127128
userId = "userId",
128129
deviceId = "deviceId",
@@ -137,6 +138,10 @@ class DatabaseSessionStoreTest {
137138
passphrase = "aPassphrase",
138139
sessionPath = "sessionPath",
139140
cachePath = "cachePath",
141+
position = 0,
142+
lastUsageIndex = 0,
143+
userDisplayName = "userDisplayName",
144+
userAvatarUrl = "userAvatarUrl",
140145
)
141146
val secondSessionData = SessionData(
142147
userId = "userId",
@@ -150,8 +155,12 @@ class DatabaseSessionStoreTest {
150155
isTokenValid = 1,
151156
loginType = null,
152157
passphrase = "aPassphraseAltered",
153-
sessionPath = "sessionPath",
154-
cachePath = "cachePath",
158+
sessionPath = "sessionPathAltered",
159+
cachePath = "cachePathAltered",
160+
position = 1,
161+
lastUsageIndex = 1,
162+
userDisplayName = "userDisplayNameAltered",
163+
userAvatarUrl = "userAvatarUrlAltered",
155164
)
156165
assertThat(firstSessionData.userId).isEqualTo(secondSessionData.userId)
157166
assertThat(firstSessionData.loginTimestamp).isNotEqualTo(secondSessionData.loginTimestamp)
@@ -172,6 +181,11 @@ class DatabaseSessionStoreTest {
172181
assertThat(alteredSession.loginTimestamp).isEqualTo(firstSessionData.loginTimestamp)
173182
assertThat(alteredSession.oidcData).isEqualTo(secondSessionData.oidcData)
174183
assertThat(alteredSession.passphrase).isEqualTo(secondSessionData.passphrase)
184+
// Check that application data have not been altered
185+
assertThat(alteredSession.position).isEqualTo(firstSessionData.position)
186+
assertThat(alteredSession.lastUsageIndex).isEqualTo(firstSessionData.lastUsageIndex)
187+
assertThat(alteredSession.userDisplayName).isEqualTo(firstSessionData.userDisplayName)
188+
assertThat(alteredSession.userAvatarUrl).isEqualTo(firstSessionData.userAvatarUrl)
175189
}
176190

177191
@Test
@@ -186,10 +200,14 @@ class DatabaseSessionStoreTest {
186200
loginTimestamp = 1,
187201
oidcData = "aOidcData",
188202
isTokenValid = 1,
189-
loginType = null,
203+
loginType = LoginType.PASSWORD.name,
190204
passphrase = "aPassphrase",
191205
sessionPath = "sessionPath",
192206
cachePath = "cachePath",
207+
position = 0,
208+
lastUsageIndex = 0,
209+
userDisplayName = "userDisplayName",
210+
userAvatarUrl = "userAvatarUrl",
193211
)
194212
val secondSessionData = SessionData(
195213
userId = "userIdUnknown",
@@ -201,10 +219,14 @@ class DatabaseSessionStoreTest {
201219
loginTimestamp = 2,
202220
oidcData = "aOidcDataAltered",
203221
isTokenValid = 1,
204-
loginType = null,
222+
loginType = LoginType.PASSWORD.name,
205223
passphrase = "aPassphraseAltered",
206-
sessionPath = "sessionPath",
207-
cachePath = "cachePath",
224+
sessionPath = "sessionPathAltered",
225+
cachePath = "cachePathAltered",
226+
position = 1,
227+
lastUsageIndex = 1,
228+
userDisplayName = "userDisplayNameAltered",
229+
userAvatarUrl = "userAvatarUrlAltered",
208230
)
209231
assertThat(firstSessionData.userId).isNotEqualTo(secondSessionData.userId)
210232

@@ -214,14 +236,6 @@ class DatabaseSessionStoreTest {
214236
// Get the session and check that it has not been altered
215237
val notAlteredSession = databaseSessionStore.getSession(firstSessionData.userId)!!.toDbModel()
216238

217-
assertThat(notAlteredSession.userId).isEqualTo(firstSessionData.userId)
218-
assertThat(notAlteredSession.deviceId).isEqualTo(firstSessionData.deviceId)
219-
assertThat(notAlteredSession.accessToken).isEqualTo(firstSessionData.accessToken)
220-
assertThat(notAlteredSession.refreshToken).isEqualTo(firstSessionData.refreshToken)
221-
assertThat(notAlteredSession.homeserverUrl).isEqualTo(firstSessionData.homeserverUrl)
222-
assertThat(notAlteredSession.slidingSyncProxy).isEqualTo(firstSessionData.slidingSyncProxy)
223-
assertThat(notAlteredSession.loginTimestamp).isEqualTo(firstSessionData.loginTimestamp)
224-
assertThat(notAlteredSession.oidcData).isEqualTo(firstSessionData.oidcData)
225-
assertThat(notAlteredSession.passphrase).isEqualTo(firstSessionData.passphrase)
239+
assertThat(notAlteredSession).isEqualTo(firstSessionData)
226240
}
227241
}

libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/Fixtures.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,8 @@ internal fun aSessionData() = SessionData(
2424
passphrase = null,
2525
sessionPath = "sessionPath",
2626
cachePath = "cachePath",
27+
position = 0,
28+
lastUsageIndex = 0,
29+
userDisplayName = null,
30+
userAvatarUrl = null,
2731
)

0 commit comments

Comments
 (0)