rust sdk : handle api breaks for 0.2.59
This commit is contained in:
parent
d68afd2cbe
commit
cc4a8d47eb
12 changed files with 55 additions and 24 deletions
|
|
@ -23,6 +23,7 @@ import io.element.android.libraries.matrix.api.core.RoomAlias
|
|||
import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlin.jvm.optionals.getOrElse
|
||||
|
||||
class RoomAliasResolverPresenter @AssistedInject constructor(
|
||||
@Assisted private val roomAlias: RoomAlias,
|
||||
|
|
@ -57,7 +58,9 @@ class RoomAliasResolverPresenter @AssistedInject constructor(
|
|||
|
||||
private fun CoroutineScope.resolveAlias(resolveState: MutableState<AsyncData<ResolvedRoomAlias>>) = launch {
|
||||
suspend {
|
||||
matrixClient.resolveRoomAlias(roomAlias).getOrThrow()
|
||||
matrixClient.resolveRoomAlias(roomAlias)
|
||||
.getOrThrow()
|
||||
.getOrElse { error("Failed to resolve room alias $roomAlias") }
|
||||
}.runCatchingUpdatingState(resolveState)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import io.element.android.tests.testutils.WarmUpRule
|
|||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import java.util.Optional
|
||||
|
||||
class RoomAliasResolverPresenterTest {
|
||||
@get:Rule
|
||||
|
|
@ -42,7 +43,7 @@ class RoomAliasResolverPresenterTest {
|
|||
|
||||
@Test
|
||||
fun `present - resolve alias to roomId`() = runTest {
|
||||
val result = aResolvedRoomAlias()
|
||||
val result = Optional.of(aResolvedRoomAlias())
|
||||
val client = FakeMatrixClient(
|
||||
resolveRoomAliasResult = { Result.success(result) }
|
||||
)
|
||||
|
|
@ -54,7 +55,7 @@ class RoomAliasResolverPresenterTest {
|
|||
assertThat(awaitItem().resolveState.isLoading()).isTrue()
|
||||
val resultState = awaitItem()
|
||||
assertThat(resultState.roomAlias).isEqualTo(A_ROOM_ALIAS)
|
||||
assertThat(resultState.resolveState.dataOrNull()).isEqualTo(result)
|
||||
assertThat(resultState.resolveState.dataOrNull()).isEqualTo(result.get())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue