diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/di/MapperProvider.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/di/MapperProvider.kt index 349d2cd8fb..0315e0346e 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/di/MapperProvider.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/di/MapperProvider.kt @@ -99,6 +99,8 @@ import com.wire.kalium.logic.data.user.type.DomainUserTypeMapper import com.wire.kalium.logic.data.user.type.DomainUserTypeMapperImpl import com.wire.kalium.logic.data.user.type.UserEntityTypeMapper import com.wire.kalium.logic.data.user.type.UserEntityTypeMapperImpl +import com.wire.kalium.logic.feature.e2ei.CertificateStatusMapper +import com.wire.kalium.logic.feature.e2ei.CertificateStatusMapperImpl @Suppress("TooManyFunctions") internal object MapperProvider { @@ -175,4 +177,5 @@ internal object MapperProvider { fun serviceMapper(): ServiceMapper = ServiceMapper() fun legalHoldStatusMapper(): LegalHoldStatusMapper = LegalHoldStatusMapperImpl fun acmeMapper(): AcmeMapper = AcmeMapperImpl() + fun certificateStatusMapper(): CertificateStatusMapper = CertificateStatusMapperImpl() } diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/E2eiCertificate.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/E2eiCertificate.kt index cb2c0f4739..c825da89d2 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/E2eiCertificate.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/E2eiCertificate.kt @@ -18,21 +18,28 @@ package com.wire.kalium.logic.feature.e2ei import com.wire.kalium.cryptography.WireIdentity +import com.wire.kalium.logic.di.MapperProvider import kotlinx.datetime.Instant data class E2eiCertificate( + var userHandle: String, val status: CertificateStatus, val serialNumber: String, val certificateDetail: String, + val thumbprint: String, val endAt: Instant ) { companion object { - fun fromWireIdentity(identity: WireIdentity, certificateStatusMapper: CertificateStatusMapper): E2eiCertificate? = + private val certificateStatusMapper = MapperProvider.certificateStatusMapper() + + fun fromWireIdentity(identity: WireIdentity): E2eiCertificate? = identity.certificate?.let { E2eiCertificate( + userHandle = it.handle.handle, status = certificateStatusMapper.toCertificateStatus(identity.status), serialNumber = it.serialNumber, certificateDetail = it.certificate, + thumbprint = it.thumbprint, endAt = Instant.fromEpochSeconds(it.endTimestampSeconds) ) } diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetE2EICertificateUseCase.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetE2EICertificateUseCase.kt index 4dad3be6c0..da2ad2a676 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetE2EICertificateUseCase.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetE2EICertificateUseCase.kt @@ -19,7 +19,6 @@ package com.wire.kalium.logic.feature.e2ei.usecase import com.wire.kalium.logic.data.conversation.ClientId import com.wire.kalium.logic.data.conversation.MLSConversationRepository -import com.wire.kalium.logic.feature.e2ei.CertificateStatusMapper import com.wire.kalium.logic.feature.e2ei.E2eiCertificate import com.wire.kalium.logic.functional.fold @@ -31,15 +30,14 @@ interface GetE2eiCertificateUseCase { } class GetE2eiCertificateUseCaseImpl internal constructor( - private val mlsConversationRepository: MLSConversationRepository, - private val certificateStatusMapper: CertificateStatusMapper + private val mlsConversationRepository: MLSConversationRepository ) : GetE2eiCertificateUseCase { override suspend operator fun invoke(clientId: ClientId): GetE2EICertificateUseCaseResult = mlsConversationRepository.getClientIdentity(clientId).fold( { GetE2EICertificateUseCaseResult.Failure }, { it?.let { - E2eiCertificate.fromWireIdentity(it, certificateStatusMapper)?.let { certificate -> + E2eiCertificate.fromWireIdentity(it)?.let { certificate -> GetE2EICertificateUseCaseResult.Success(certificate) } } ?: GetE2EICertificateUseCaseResult.NotActivated diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetMembersE2EICertificateStatusesUseCase.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetMembersE2EICertificateStatusesUseCase.kt index 81a91b6b12..cb36d1ca7f 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetMembersE2EICertificateStatusesUseCase.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetMembersE2EICertificateStatusesUseCase.kt @@ -22,7 +22,6 @@ import com.wire.kalium.logic.data.conversation.MLSConversationRepository import com.wire.kalium.logic.data.id.ConversationId import com.wire.kalium.logic.data.user.UserId import com.wire.kalium.logic.feature.e2ei.CertificateStatus -import com.wire.kalium.logic.feature.e2ei.CertificateStatusMapper import com.wire.kalium.logic.feature.e2ei.E2eiCertificate import com.wire.kalium.logic.functional.fold @@ -35,15 +34,14 @@ interface GetMembersE2EICertificateStatusesUseCase { } class GetMembersE2EICertificateStatusesUseCaseImpl internal constructor( - private val mlsConversationRepository: MLSConversationRepository, - private val certificateStatusMapper: CertificateStatusMapper + private val mlsConversationRepository: MLSConversationRepository ) : GetMembersE2EICertificateStatusesUseCase { override suspend operator fun invoke(conversationId: ConversationId, userIds: List): Map = mlsConversationRepository.getMembersIdentities(conversationId, userIds).fold( { mapOf() }, { it.mapValues { (_, identities) -> - identities.getUserCertificateStatus(certificateStatusMapper) + identities.getUserCertificateStatus() } } ) @@ -55,9 +53,9 @@ class GetMembersE2EICertificateStatusesUseCaseImpl internal constructor( * [CertificateStatus.EXPIRED] if any certificate is expired; * [CertificateStatus.VALID] otherwise. */ -fun List.getUserCertificateStatus(certificateStatusMapper: CertificateStatusMapper): CertificateStatus? { +fun List.getUserCertificateStatus(): CertificateStatus? { val certificates = this.map { - E2eiCertificate.fromWireIdentity(it, certificateStatusMapper) + E2eiCertificate.fromWireIdentity(it) } return if (certificates.isEmpty() || certificates.any { it == null }) { null diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetUserE2EIAllCertificatesUseCase.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetUserE2EIAllCertificatesUseCase.kt index 3eee87c5d2..bf10ce4159 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetUserE2EIAllCertificatesUseCase.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetUserE2EIAllCertificatesUseCase.kt @@ -20,7 +20,6 @@ package com.wire.kalium.logic.feature.e2ei.usecase import com.wire.kalium.logic.data.conversation.ClientId import com.wire.kalium.logic.data.conversation.MLSConversationRepository import com.wire.kalium.logic.data.user.UserId -import com.wire.kalium.logic.feature.e2ei.CertificateStatusMapper import com.wire.kalium.logic.feature.e2ei.E2eiCertificate import com.wire.kalium.logic.feature.user.IsE2EIEnabledUseCase import com.wire.kalium.logic.functional.getOrElse @@ -36,15 +35,14 @@ interface GetUserE2eiCertificatesUseCase { class GetUserE2eiCertificatesUseCaseImpl internal constructor( private val mlsConversationRepository: MLSConversationRepository, - private val isE2EIEnabledUseCase: IsE2EIEnabledUseCase, - private val certificateStatusMapper: CertificateStatusMapper + private val isE2EIEnabledUseCase: IsE2EIEnabledUseCase ) : GetUserE2eiCertificatesUseCase { override suspend operator fun invoke(userId: UserId): Map = if (isE2EIEnabledUseCase()) { mlsConversationRepository.getUserIdentity(userId).map { identities -> val result = mutableMapOf() identities.forEach { - E2eiCertificate.fromWireIdentity(it, certificateStatusMapper)?.let { certificate -> + E2eiCertificate.fromWireIdentity(it)?.let { certificate -> result[it.clientId.value] = certificate } } diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetUserE2EICertificateUseCase.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetUserE2EICertificateUseCase.kt index b54378f128..f884f0c23d 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetUserE2EICertificateUseCase.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/e2ei/usecase/GetUserE2EICertificateUseCase.kt @@ -20,7 +20,6 @@ package com.wire.kalium.logic.feature.e2ei.usecase import com.wire.kalium.logic.data.conversation.MLSConversationRepository import com.wire.kalium.logic.data.user.UserId import com.wire.kalium.logic.feature.e2ei.CertificateStatus -import com.wire.kalium.logic.feature.e2ei.CertificateStatusMapper import com.wire.kalium.logic.feature.user.IsE2EIEnabledUseCase import com.wire.kalium.logic.functional.fold @@ -33,7 +32,6 @@ interface GetUserE2eiCertificateStatusUseCase { class GetUserE2eiCertificateStatusUseCaseImpl internal constructor( private val mlsConversationRepository: MLSConversationRepository, - private val certificateStatusMapper: CertificateStatusMapper, private val isE2EIEnabledUseCase: IsE2EIEnabledUseCase ) : GetUserE2eiCertificateStatusUseCase { override suspend operator fun invoke(userId: UserId): GetUserE2eiCertificateStatusResult = @@ -43,7 +41,7 @@ class GetUserE2eiCertificateStatusUseCaseImpl internal constructor( GetUserE2eiCertificateStatusResult.Failure.NotActivated }, { identities -> - identities.getUserCertificateStatus(certificateStatusMapper)?.let { + identities.getUserCertificateStatus()?.let { GetUserE2eiCertificateStatusResult.Success(it) } ?: GetUserE2eiCertificateStatusResult.Failure.NotActivated } diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/user/UserScope.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/user/UserScope.kt index defe6e3a2c..bf55756d06 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/user/UserScope.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/user/UserScope.kt @@ -51,7 +51,6 @@ import com.wire.kalium.logic.feature.client.FinalizeMLSClientAfterE2EIEnrollment import com.wire.kalium.logic.feature.conversation.GetAllContactsNotInConversationUseCase import com.wire.kalium.logic.feature.e2ei.CertificateRevocationListCheckWorker import com.wire.kalium.logic.feature.e2ei.CertificateRevocationListCheckWorkerImpl -import com.wire.kalium.logic.feature.e2ei.CertificateStatusMapperImpl import com.wire.kalium.logic.feature.e2ei.usecase.EnrollE2EIUseCase import com.wire.kalium.logic.feature.e2ei.usecase.EnrollE2EIUseCaseImpl import com.wire.kalium.logic.feature.e2ei.usecase.GetE2eiCertificateUseCase @@ -119,7 +118,6 @@ class UserScope internal constructor( val observeUserInfo: ObserveUserInfoUseCase get() = ObserveUserInfoUseCaseImpl(userRepository, teamRepository) val uploadUserAvatar: UploadUserAvatarUseCase get() = UploadUserAvatarUseCaseImpl(userRepository, assetRepository) - private val certificateStatusMapper by lazy { CertificateStatusMapperImpl() } val getPublicAsset: GetAvatarAssetUseCase get() = GetAvatarAssetUseCaseImpl(assetRepository, userRepository) val enrollE2EI: EnrollE2EIUseCase get() = EnrollE2EIUseCaseImpl(e2EIRepository) @@ -130,25 +128,21 @@ class UserScope internal constructor( ) val getE2EICertificate: GetE2eiCertificateUseCase get() = GetE2eiCertificateUseCaseImpl( - mlsConversationRepository = mlsConversationRepository, - certificateStatusMapper = certificateStatusMapper + mlsConversationRepository = mlsConversationRepository ) val getUserE2eiCertificateStatus: GetUserE2eiCertificateStatusUseCase get() = GetUserE2eiCertificateStatusUseCaseImpl( mlsConversationRepository = mlsConversationRepository, - certificateStatusMapper = certificateStatusMapper, isE2EIEnabledUseCase = isE2EIEnabledUseCase ) val getUserE2eiCertificates: GetUserE2eiCertificatesUseCase get() = GetUserE2eiCertificatesUseCaseImpl( mlsConversationRepository = mlsConversationRepository, - certificateStatusMapper = certificateStatusMapper, isE2EIEnabledUseCase = isE2EIEnabledUseCase ) val getMembersE2EICertificateStatuses: GetMembersE2EICertificateStatusesUseCase get() = GetMembersE2EICertificateStatusesUseCaseImpl( - mlsConversationRepository = mlsConversationRepository, - certificateStatusMapper = certificateStatusMapper + mlsConversationRepository = mlsConversationRepository ) val deleteAsset: DeleteAssetUseCase get() = DeleteAssetUseCaseImpl(assetRepository) val setUserHandle: SetUserHandleUseCase get() = SetUserHandleUseCase(accountRepository, validateUserHandleUseCase, syncManager) diff --git a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/client/ObserveE2EIRequiredUseCaseTest.kt b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/client/ObserveE2EIRequiredUseCaseTest.kt index 5c7d9e5d22..cbcae1b4a1 100644 --- a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/client/ObserveE2EIRequiredUseCaseTest.kt +++ b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/client/ObserveE2EIRequiredUseCaseTest.kt @@ -367,9 +367,11 @@ class ObserveE2EIRequiredUseCaseTest { companion object { private val MLS_E2EI_SETTING = E2EISettings(true, "some_url", null) private val VALID_CERTIFICATE = E2eiCertificate( + userHandle = "userHandle", serialNumber = "serialNumber", certificateDetail = "certificateDetail", status = CertificateStatus.VALID, + thumbprint = "thumbprint", endAt = DateTimeUtil.currentInstant().plus(1.days) ) } diff --git a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetE2eiCertificateUseCaseTest.kt b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetE2eiCertificateUseCaseTest.kt index 8748854fea..b904ed19e0 100644 --- a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetE2eiCertificateUseCaseTest.kt +++ b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetE2eiCertificateUseCaseTest.kt @@ -80,7 +80,6 @@ class GetE2eiCertificateUseCaseTest { runTest { val (arrangement, getE2eiCertificateUseCase) = Arrangement() .withRepositoryValidCertificate(IDENTITY) - .withMapperReturning(CertificateStatus.EXPIRED) .arrange() val result = getE2eiCertificateUseCase.invoke(CLIENT_ID) @@ -89,10 +88,6 @@ class GetE2eiCertificateUseCaseTest { arrangement.mlsConversationRepository.getClientIdentity(any()) }.wasInvoked(once) - verify { - arrangement.certificateStatusMapper.toCertificateStatus(any()) - }.wasInvoked(once) - assertEquals(true, result is GetE2EICertificateUseCaseResult.Success) } @@ -109,10 +104,6 @@ class GetE2eiCertificateUseCaseTest { arrangement.mlsConversationRepository.getClientIdentity(any()) }.wasInvoked(once) - verify { - arrangement.certificateStatusMapper.toCertificateStatus(any()) - }.wasNotInvoked() - assertEquals(true, result is GetE2EICertificateUseCaseResult.NotActivated) } @@ -121,12 +112,8 @@ class GetE2eiCertificateUseCaseTest { @Mock val mlsConversationRepository = mock(MLSConversationRepository::class) - @Mock - val certificateStatusMapper = mock(CertificateStatusMapper::class) - fun arrange() = this to GetE2eiCertificateUseCaseImpl( - mlsConversationRepository = mlsConversationRepository, - certificateStatusMapper = certificateStatusMapper + mlsConversationRepository = mlsConversationRepository ) suspend fun withRepositoryFailure(failure: CoreFailure = E2EIFailure.Generic(Exception())) = apply { @@ -140,12 +127,6 @@ class GetE2eiCertificateUseCaseTest { mlsConversationRepository.getClientIdentity(any()) }.returns(Either.Right(identity)) } - - fun withMapperReturning(status: CertificateStatus) = apply { - every { - certificateStatusMapper.toCertificateStatus(any()) - }.returns(status) - } } companion object { @@ -155,7 +136,14 @@ class GetE2eiCertificateUseCaseTest { CryptoQualifiedClientId("clientId", USER_ID.toCrypto()) val e2eiCertificate = - E2eiCertificate(CertificateStatus.EXPIRED, "serialNumber", "certificateDetail", Instant.DISTANT_FUTURE) + E2eiCertificate( + userHandle = "handle", + status = CertificateStatus.EXPIRED, + serialNumber = "serialNumber", + certificateDetail = "certificateDetail", + endAt = Instant.DISTANT_FUTURE, + thumbprint = "thumbprint" + ) val IDENTITY = WireIdentity( CRYPTO_QUALIFIED_CLIENT_ID, handle = "alic_test", diff --git a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetMembersE2EICertificateStatusesUseCaseTest.kt b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetMembersE2EICertificateStatusesUseCaseTest.kt index caf9466d71..fb389ae54c 100644 --- a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetMembersE2EICertificateStatusesUseCaseTest.kt +++ b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetMembersE2EICertificateStatusesUseCaseTest.kt @@ -26,8 +26,6 @@ import com.wire.kalium.logic.data.id.toCrypto import com.wire.kalium.logic.data.user.UserId import com.wire.kalium.logic.feature.e2ei.usecase.GetMembersE2EICertificateStatusesUseCaseImpl import com.wire.kalium.logic.functional.Either -import com.wire.kalium.logic.util.arrangement.mls.CertificateStatusMapperArrangement -import com.wire.kalium.logic.util.arrangement.mls.CertificateStatusMapperArrangementImpl import com.wire.kalium.logic.util.arrangement.mls.MLSConversationRepositoryArrangement import com.wire.kalium.logic.util.arrangement.mls.MLSConversationRepositoryArrangementImpl import io.mockative.matchers.EqualsMatcher @@ -108,27 +106,12 @@ class GetMembersE2EICertificateStatusesUseCaseTest { } private class Arrangement(private val block: suspend Arrangement.() -> Unit) : - MLSConversationRepositoryArrangement by MLSConversationRepositoryArrangementImpl(), - CertificateStatusMapperArrangement by CertificateStatusMapperArrangementImpl() { + MLSConversationRepositoryArrangement by MLSConversationRepositoryArrangementImpl() { fun arrange() = run { - withCertificateStatusMapperReturning( - CertificateStatus.VALID, - EqualsMatcher(CryptoCertificateStatus.VALID) - ) - withCertificateStatusMapperReturning( - CertificateStatus.EXPIRED, - EqualsMatcher(CryptoCertificateStatus.EXPIRED) - ) - withCertificateStatusMapperReturning( - CertificateStatus.REVOKED, - EqualsMatcher(CryptoCertificateStatus.REVOKED) - ) - runBlocking { block() } this@Arrangement to GetMembersE2EICertificateStatusesUseCaseImpl( - mlsConversationRepository = mlsConversationRepository, - certificateStatusMapper = certificateStatusMapper + mlsConversationRepository = mlsConversationRepository ) } } diff --git a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetUserE2eiAllCertificateStatusesUseCaseTest.kt b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetUserE2eiAllCertificateStatusesUseCaseTest.kt index f4e9a4aa37..b3289e3430 100644 --- a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetUserE2eiAllCertificateStatusesUseCaseTest.kt +++ b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetUserE2eiAllCertificateStatusesUseCaseTest.kt @@ -25,15 +25,12 @@ import com.wire.kalium.logic.data.id.toCrypto import com.wire.kalium.logic.data.user.UserId import com.wire.kalium.logic.feature.e2ei.usecase.GetUserE2eiCertificatesUseCaseImpl import com.wire.kalium.logic.functional.Either -import com.wire.kalium.logic.util.arrangement.mls.CertificateStatusMapperArrangement -import com.wire.kalium.logic.util.arrangement.mls.CertificateStatusMapperArrangementImpl import com.wire.kalium.logic.util.arrangement.mls.IsE2EIEnabledUseCaseArrangement import com.wire.kalium.logic.util.arrangement.mls.IsE2EIEnabledUseCaseArrangementImpl import com.wire.kalium.logic.util.arrangement.mls.MLSConversationRepositoryArrangement import com.wire.kalium.logic.util.arrangement.mls.MLSConversationRepositoryArrangementImpl import io.mockative.any import io.mockative.coVerify -import io.mockative.matchers.EqualsMatcher import kotlinx.coroutines.runBlocking import kotlinx.coroutines.test.runTest import kotlin.test.Test @@ -116,27 +113,12 @@ class GetUserE2eiAllCertificateStatusesUseCaseTest { private class Arrangement(private val block: suspend Arrangement.() -> Unit) : MLSConversationRepositoryArrangement by MLSConversationRepositoryArrangementImpl(), - CertificateStatusMapperArrangement by CertificateStatusMapperArrangementImpl(), IsE2EIEnabledUseCaseArrangement by IsE2EIEnabledUseCaseArrangementImpl() { fun arrange() = run { - withCertificateStatusMapperReturning( - CertificateStatus.VALID, - EqualsMatcher(CryptoCertificateStatus.VALID) - ) - withCertificateStatusMapperReturning( - CertificateStatus.EXPIRED, - EqualsMatcher(CryptoCertificateStatus.EXPIRED) - ) - withCertificateStatusMapperReturning( - CertificateStatus.REVOKED, - EqualsMatcher(CryptoCertificateStatus.REVOKED) - ) - runBlocking { block() } this@Arrangement to GetUserE2eiCertificatesUseCaseImpl( mlsConversationRepository = mlsConversationRepository, - certificateStatusMapper = certificateStatusMapper, isE2EIEnabledUseCase = isE2EIEnabledUseCase ) } diff --git a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetUserE2eiCertificateStatusUseCaseTest.kt b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetUserE2eiCertificateStatusUseCaseTest.kt index 193b65d0bb..a430555560 100644 --- a/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetUserE2eiCertificateStatusUseCaseTest.kt +++ b/logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/e2ei/GetUserE2eiCertificateStatusUseCaseTest.kt @@ -26,15 +26,12 @@ import com.wire.kalium.logic.data.user.UserId import com.wire.kalium.logic.feature.e2ei.usecase.GetUserE2eiCertificateStatusResult import com.wire.kalium.logic.feature.e2ei.usecase.GetUserE2eiCertificateStatusUseCaseImpl import com.wire.kalium.logic.functional.Either -import com.wire.kalium.logic.util.arrangement.mls.CertificateStatusMapperArrangement -import com.wire.kalium.logic.util.arrangement.mls.CertificateStatusMapperArrangementImpl import com.wire.kalium.logic.util.arrangement.mls.IsE2EIEnabledUseCaseArrangement import com.wire.kalium.logic.util.arrangement.mls.IsE2EIEnabledUseCaseArrangementImpl import com.wire.kalium.logic.util.arrangement.mls.MLSConversationRepositoryArrangement import com.wire.kalium.logic.util.arrangement.mls.MLSConversationRepositoryArrangementImpl import io.mockative.any import io.mockative.coVerify -import io.mockative.matchers.EqualsMatcher import kotlinx.coroutines.runBlocking import kotlinx.coroutines.test.runTest import kotlin.test.Test @@ -164,27 +161,12 @@ class GetUserE2eiCertificateStatusUseCaseTest { private class Arrangement(private val block: suspend Arrangement.() -> Unit) : MLSConversationRepositoryArrangement by MLSConversationRepositoryArrangementImpl(), - CertificateStatusMapperArrangement by CertificateStatusMapperArrangementImpl(), IsE2EIEnabledUseCaseArrangement by IsE2EIEnabledUseCaseArrangementImpl() { fun arrange() = run { - withCertificateStatusMapperReturning( - CertificateStatus.VALID, - EqualsMatcher(CryptoCertificateStatus.VALID) - ) - withCertificateStatusMapperReturning( - CertificateStatus.EXPIRED, - EqualsMatcher(CryptoCertificateStatus.EXPIRED) - ) - withCertificateStatusMapperReturning( - CertificateStatus.REVOKED, - EqualsMatcher(CryptoCertificateStatus.REVOKED) - ) - runBlocking { block() } this@Arrangement to GetUserE2eiCertificateStatusUseCaseImpl( mlsConversationRepository = mlsConversationRepository, - certificateStatusMapper = certificateStatusMapper, isE2EIEnabledUseCase = isE2EIEnabledUseCase ) } diff --git a/logic/src/commonTest/kotlin/com/wire/kalium/logic/util/arrangement/mls/CertificateStatusMapperArrangement.kt b/logic/src/commonTest/kotlin/com/wire/kalium/logic/util/arrangement/mls/CertificateStatusMapperArrangement.kt deleted file mode 100644 index 466ab1b34f..0000000000 --- a/logic/src/commonTest/kotlin/com/wire/kalium/logic/util/arrangement/mls/CertificateStatusMapperArrangement.kt +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Wire - * Copyright (C) 2023 Wire Swiss GmbH - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://www.gnu.org/licenses/. - */ -package com.wire.kalium.logic.util.arrangement.mls - -import com.wire.kalium.cryptography.CryptoCertificateStatus -import com.wire.kalium.logic.feature.e2ei.CertificateStatus -import com.wire.kalium.logic.feature.e2ei.CertificateStatusMapper -import io.mockative.any -import io.mockative.every -import io.mockative.matchers.Matcher -import io.mockative.matches -import io.mockative.mock - -interface CertificateStatusMapperArrangement { - val certificateStatusMapper: CertificateStatusMapper - - fun withCertificateStatusMapperReturning( - result: CertificateStatus, - certificateMatcher: Matcher = any() - ) -} - -class CertificateStatusMapperArrangementImpl : CertificateStatusMapperArrangement { - override val certificateStatusMapper: CertificateStatusMapper = - mock(CertificateStatusMapper::class) - - override fun withCertificateStatusMapperReturning( - result: CertificateStatus, - certificateMatcher: Matcher - ) { - every { - certificateStatusMapper.toCertificateStatus(matches { certificateMatcher.matches(it) }) - }.returns(result) - } -}