Skip to content

Commit 145c40d

Browse files
committed
Add unit test on ExternalSession.toSessionData
1 parent bfaa9f8 commit 145c40d

File tree

1 file changed

+52
-0
lines changed
  • libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper

1 file changed

+52
-0
lines changed

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper/SessionKtTest.kt

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package io.element.android.libraries.matrix.impl.mapper
99

1010
import com.google.common.truth.Truth.assertThat
11+
import io.element.android.libraries.matrix.api.auth.external.ExternalSession
1112
import io.element.android.libraries.matrix.impl.fixtures.factories.aRustSession
1213
import io.element.android.libraries.matrix.impl.paths.SessionPaths
1314
import io.element.android.libraries.matrix.test.A_DEVICE_ID
@@ -81,4 +82,55 @@ class SessionKtTest {
8182
)
8283
assertThat(result.slidingSyncProxy).isEqualTo("proxyUrl")
8384
}
85+
86+
@Test
87+
fun `ExternalSession toSessionData compute the expected result`() {
88+
val result = anExternalSession().toSessionData(
89+
isTokenValid = true,
90+
loginType = LoginType.PASSWORD,
91+
passphrase = A_SECRET,
92+
sessionPaths = SessionPaths(File("/a/file"), File("/a/cache")),
93+
)
94+
assertThat(result.userId).isEqualTo(A_USER_ID.value)
95+
assertThat(result.deviceId).isEqualTo(A_DEVICE_ID.value)
96+
assertThat(result.accessToken).isEqualTo("accessToken")
97+
assertThat(result.refreshToken).isNull()
98+
assertThat(result.homeserverUrl).isEqualTo(A_HOMESERVER_URL)
99+
assertThat(result.isTokenValid).isTrue()
100+
assertThat(result.oidcData).isNull()
101+
assertThat(result.slidingSyncProxy).isNull()
102+
assertThat(result.loginType).isEqualTo(LoginType.PASSWORD)
103+
assertThat(result.loginTimestamp).isNotNull()
104+
assertThat(result.passphrase).isEqualTo(A_SECRET)
105+
assertThat(result.sessionPath).isEqualTo("/a/file")
106+
assertThat(result.cachePath).isEqualTo("/a/cache")
107+
}
108+
109+
@Test
110+
fun `ExternalSession toSessionData can change the validity of the token`() {
111+
val result = anExternalSession().toSessionData(
112+
isTokenValid = false,
113+
loginType = LoginType.PASSWORD,
114+
passphrase = A_SECRET,
115+
sessionPaths = SessionPaths(File("/a/file"), File("/a/cache")),
116+
)
117+
assertThat(result.isTokenValid).isFalse()
118+
}
84119
}
120+
121+
private fun anExternalSession(
122+
userId: String = A_USER_ID.value,
123+
deviceId: String = A_DEVICE_ID.value,
124+
accessToken: String = "accessToken",
125+
refreshToken: String? = null,
126+
homeserverUrl: String = A_HOMESERVER_URL,
127+
slidingSyncProxy: String? = null,
128+
129+
) = ExternalSession(
130+
userId = userId,
131+
deviceId = deviceId,
132+
accessToken = accessToken,
133+
refreshToken = refreshToken,
134+
homeserverUrl = homeserverUrl,
135+
slidingSyncProxy = slidingSyncProxy,
136+
)

0 commit comments

Comments
 (0)