|
8 | 8 | package io.element.android.libraries.matrix.impl.mapper |
9 | 9 |
|
10 | 10 | import com.google.common.truth.Truth.assertThat |
| 11 | +import io.element.android.libraries.matrix.api.auth.external.ExternalSession |
11 | 12 | import io.element.android.libraries.matrix.impl.fixtures.factories.aRustSession |
12 | 13 | import io.element.android.libraries.matrix.impl.paths.SessionPaths |
13 | 14 | import io.element.android.libraries.matrix.test.A_DEVICE_ID |
@@ -81,4 +82,55 @@ class SessionKtTest { |
81 | 82 | ) |
82 | 83 | assertThat(result.slidingSyncProxy).isEqualTo("proxyUrl") |
83 | 84 | } |
| 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 | + } |
84 | 119 | } |
| 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