Skip to content

Commit f57e20c

Browse files
committed
make grace period configurable and reduce test duration
1 parent d0bff50 commit f57e20c

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

vector/src/main/java/im/vector/app/UISIDetector.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ data class E2EMessageDetected(
5252
}
5353
}
5454

55-
class UISIDetector : LiveEventListener {
55+
class UISIDetector(private val timeoutMillis: Long = 30_000L) : LiveEventListener {
5656

5757
interface UISIDetectorCallback {
5858
val enabled: Boolean
@@ -66,7 +66,6 @@ class UISIDetector : LiveEventListener {
6666
private val trackedEvents = mutableMapOf<String, TimerTask>()
6767
private val executor = Executors.newSingleThreadExecutor()
6868
private val timer = Timer()
69-
private val timeoutMillis = 30_000L
7069
private val enabled: Boolean get() = callback?.enabled.orFalse()
7170

7271
override fun onEventDecrypted(event: Event, clearEvent: JsonDict) {

vector/src/test/java/im/vector/app/features/crypto/UISIDetectorTest.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ class UISIDetectorTest {
3838

3939
@Test
4040
fun `trigger detection after grace period`() {
41-
val uisiDetector = UISIDetector()
41+
val gracePeriod = 5_000L
42+
val uisiDetector = UISIDetector(gracePeriod)
4243
var detectedEvent: E2EMessageDetected? = null
4344

4445
uisiDetector.callback = object : UISIDetector.UISIDetectorCallback {
@@ -60,15 +61,16 @@ class UISIDetectorTest {
6061
uisiDetector.onEventDecryptionError(event, fakeCryptoError())
6162

6263
runBlocking {
63-
delay(40_000)
64+
delay((gracePeriod * 1.2).toLong())
6465
}
6566
Assert.assertEquals(eventId, detectedEvent?.eventId)
6667
}
6768

6869
@Test
6970
fun `If event decrypted during grace period should not trigger detection`() {
7071
val scope = CoroutineScope(SupervisorJob())
71-
val uisiDetector = UISIDetector()
72+
val gracePeriod = 5_000L
73+
val uisiDetector = UISIDetector(gracePeriod)
7274

7375
uisiDetector.callback = object : UISIDetector.UISIDetectorCallback {
7476
override val enabled = true
@@ -89,12 +91,12 @@ class UISIDetectorTest {
8991

9092
// the grace period is 30s
9193
scope.launch(Dispatchers.Default) {
92-
delay(10_000)
94+
delay((gracePeriod * 0.5).toLong())
9395
uisiDetector.onEventDecrypted(event, emptyMap())
9496
}
9597

9698
runBlocking {
97-
delay(60_000)
99+
delay((gracePeriod * 1.2).toLong())
98100
}
99101
}
100102

0 commit comments

Comments
 (0)