From 38cd2be33223a1dc9af5be9b33cd4a616df9e9f2 Mon Sep 17 00:00:00 2001 From: Onuray Sahin Date: Thu, 29 Sep 2022 13:28:46 +0300 Subject: [PATCH] Fix broken tests. --- .../v2/GetDeviceFullInfoListUseCase.kt | 2 +- .../v2/overview/GetDeviceFullInfoUseCase.kt | 2 +- .../v2/GetDeviceFullInfoListUseCaseTest.kt | 19 ++++++++++++++++--- .../overview/GetDeviceFullInfoUseCaseTest.kt | 3 ++- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/GetDeviceFullInfoListUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/GetDeviceFullInfoListUseCase.kt index e4cdbb0a87..0272bea351 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/GetDeviceFullInfoListUseCase.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/GetDeviceFullInfoListUseCase.kt @@ -73,7 +73,7 @@ class GetDeviceFullInfoListUseCase @Inject constructor( val roomEncryptionTrustLevel = getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoDeviceInfo) val isInactive = checkIfSessionIsInactiveUseCase.execute(deviceInfo.lastSeenTs ?: 0) val isCurrentDevice = currentSessionCrossSigningInfo.deviceId == cryptoDeviceInfo?.deviceId - val deviceUserAgent = parseDeviceUserAgentUseCase.execute(deviceInfo.lastSeenUserAgent) + val deviceUserAgent = parseDeviceUserAgentUseCase.execute(deviceInfo.getBestLastSeenUserAgent()) DeviceFullInfo(deviceInfo, cryptoDeviceInfo, roomEncryptionTrustLevel, isInactive, isCurrentDevice, deviceUserAgent) } } diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt index fd612308fc..9ed77d3834 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt @@ -51,7 +51,7 @@ class GetDeviceFullInfoUseCase @Inject constructor( val roomEncryptionTrustLevel = getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoInfo) val isInactive = checkIfSessionIsInactiveUseCase.execute(info.lastSeenTs ?: 0) val isCurrentDevice = currentSessionCrossSigningInfo.deviceId == cryptoInfo.deviceId - val deviceUserAgent = parseDeviceUserAgentUseCase.execute(info.lastSeenUserAgent) + val deviceUserAgent = parseDeviceUserAgentUseCase.execute(info.getBestLastSeenUserAgent()) DeviceFullInfo( deviceInfo = info, cryptoDeviceInfo = cryptoInfo, diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/GetDeviceFullInfoListUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/GetDeviceFullInfoListUseCaseTest.kt index 0537e4f652..3422a01694 100644 --- a/vector/src/test/java/im/vector/app/features/settings/devices/v2/GetDeviceFullInfoListUseCaseTest.kt +++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/GetDeviceFullInfoListUseCaseTest.kt @@ -46,6 +46,7 @@ private const val A_DEVICE_ID_3 = "device-id-3" private const val A_TIMESTAMP_1 = 100L private const val A_TIMESTAMP_2 = 200L private const val A_TIMESTAMP_3 = 300L +private const val A_USER_AGENT = "Element dbg/1.5.0-dev (Xiaomi Mi 9T; Android 11; RKQ1.200826.002 test-keys; Flavour GooglePlay; MatrixAndroidSdk2 1.5.2)" class GetDeviceFullInfoListUseCaseTest { @@ -90,21 +91,24 @@ class GetDeviceFullInfoListUseCaseTest { lastSeenTs = A_TIMESTAMP_1, isInactive = true, roomEncryptionTrustLevel = RoomEncryptionTrustLevel.Trusted, - cryptoDeviceInfo = cryptoDeviceInfo1 + cryptoDeviceInfo = cryptoDeviceInfo1, + lastSeenUserAgent = A_USER_AGENT ) val deviceInfo2 = givenADevicesInfo( deviceId = A_DEVICE_ID_2, lastSeenTs = A_TIMESTAMP_2, isInactive = false, roomEncryptionTrustLevel = RoomEncryptionTrustLevel.Trusted, - cryptoDeviceInfo = cryptoDeviceInfo2 + cryptoDeviceInfo = cryptoDeviceInfo2, + lastSeenUserAgent = A_USER_AGENT ) val deviceInfo3 = givenADevicesInfo( deviceId = A_DEVICE_ID_3, lastSeenTs = A_TIMESTAMP_3, isInactive = false, roomEncryptionTrustLevel = RoomEncryptionTrustLevel.Warning, - cryptoDeviceInfo = cryptoDeviceInfo3 + cryptoDeviceInfo = cryptoDeviceInfo3, + lastSeenUserAgent = A_USER_AGENT ) val deviceInfoList = listOf(deviceInfo1, deviceInfo2, deviceInfo3) every { fakeFlowSession.liveMyDevicesInfo() } returns flowOf(deviceInfoList) @@ -188,12 +192,21 @@ class GetDeviceFullInfoListUseCaseTest { isInactive: Boolean, roomEncryptionTrustLevel: RoomEncryptionTrustLevel, cryptoDeviceInfo: CryptoDeviceInfo, + lastSeenUserAgent: String, ): DeviceInfo { val deviceInfo = mockk() every { deviceInfo.deviceId } returns deviceId every { deviceInfo.lastSeenTs } returns lastSeenTs + every { deviceInfo.getBestLastSeenUserAgent() } returns lastSeenUserAgent every { getEncryptionTrustLevelForDeviceUseCase.execute(any(), cryptoDeviceInfo) } returns roomEncryptionTrustLevel every { checkIfSessionIsInactiveUseCase.execute(lastSeenTs) } returns isInactive + every { parseDeviceUserAgentUseCase.execute(lastSeenUserAgent) } returns DeviceUserAgent( + DeviceType.MOBILE, + "Xiaomi Mi 9T", + "Android 11", + "Element dbg", + "1.5.0-dev" + ) return deviceInfo } diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt index 392c737152..425935d065 100644 --- a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt +++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt @@ -81,7 +81,7 @@ class GetDeviceFullInfoUseCaseTest { // Given val currentSessionCrossSigningInfo = givenCurrentSessionCrossSigningInfo() val deviceInfo = DeviceInfo( - lastSeenTs = A_TIMESTAMP + lastSeenTs = A_TIMESTAMP, ) fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData = MutableLiveData(Optional(deviceInfo)) fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData.givenAsFlow() @@ -92,6 +92,7 @@ class GetDeviceFullInfoUseCaseTest { val isInactive = false val isCurrentDevice = true every { checkIfSessionIsInactiveUseCase.execute(any()) } returns isInactive + every { parseDeviceUserAgentUseCase.execute(any()) } returns DeviceUserAgent(DeviceType.MOBILE) // When val deviceFullInfo = getDeviceFullInfoUseCase.execute(A_DEVICE_ID).firstOrNull()