From bfaa9f843c1325a1bdbd7f62793bcd4dbd881a9a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 19 Sep 2024 17:27:55 +0200 Subject: [PATCH] Add unit test on HomeserverLoginDetails.map() --- .../impl/auth/HomeserverDetailsKtTest.kt | 37 +++++++++++++++++++ .../auth/OidcConfigurationProviderTest.kt | 21 +++++++++++ .../fakes/FakeRustHomeserverLoginDetails.kt | 21 +++++++++++ 3 files changed, 79 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/HomeserverDetailsKtTest.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/OidcConfigurationProviderTest.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustHomeserverLoginDetails.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/HomeserverDetailsKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/HomeserverDetailsKtTest.kt new file mode 100644 index 0000000000..01ca61d433 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/HomeserverDetailsKtTest.kt @@ -0,0 +1,37 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.auth + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.auth.MatrixHomeServerDetails +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustHomeserverLoginDetails +import org.junit.Test + +class HomeserverDetailsKtTest { + @Test + fun `map should be correct`() { + // Given + val homeserverLoginDetails = FakeRustHomeserverLoginDetails( + url = "https://example.org", + supportsPasswordLogin = true, + supportsOidcLogin = false + ) + + // When + val result = homeserverLoginDetails.map() + + // Then + assertThat(result).isEqualTo( + MatrixHomeServerDetails( + url = "https://example.org", + supportsPasswordLogin = true, + supportsOidcLogin = false + ) + ) + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/OidcConfigurationProviderTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/OidcConfigurationProviderTest.kt new file mode 100644 index 0000000000..a1348e209e --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/OidcConfigurationProviderTest.kt @@ -0,0 +1,21 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.auth + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.auth.OidcConfig +import org.junit.Test +import java.io.File + +class OidcConfigurationProviderTest { + @Test + fun get() { + val result = OidcConfigurationProvider(File("/base")).get() + assertThat(result.redirectUri).isEqualTo(OidcConfig.REDIRECT_URI) + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustHomeserverLoginDetails.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustHomeserverLoginDetails.kt new file mode 100644 index 0000000000..52b9cfb2f6 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustHomeserverLoginDetails.kt @@ -0,0 +1,21 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.fakes + +import org.matrix.rustcomponents.sdk.HomeserverLoginDetails +import org.matrix.rustcomponents.sdk.NoPointer + +class FakeRustHomeserverLoginDetails( + private val url: String = "https://example.org", + private val supportsPasswordLogin: Boolean = true, + private val supportsOidcLogin: Boolean = false +) : HomeserverLoginDetails(NoPointer) { + override fun url(): String = url + override fun supportsOidcLogin(): Boolean = supportsOidcLogin + override fun supportsPasswordLogin(): Boolean = supportsPasswordLogin +}