From 590024501875723c1a988cbeaa6c67e6baa73eab Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 10 Mar 2020 11:42:02 +0100 Subject: [PATCH] Make the test fail before unwedging implementation --- .../android/internal/crypto/UnwedgingTest.kt | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/UnwedgingTest.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/UnwedgingTest.kt index ce5873b451..4a28a77986 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/UnwedgingTest.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/UnwedgingTest.kt @@ -87,6 +87,26 @@ class UnwedgingTest : InstrumentedTest { val bobTimeline = roomFromBobPOV.createTimeline(null, TimelineSettings(20)) bobTimeline.start() + val bobFinalLatch = CountDownLatch(1) + val bobHasThreeDecryptedEventsListener = object : Timeline.Listener { + override fun onTimelineFailure(throwable: Throwable) { + // noop + } + + override fun onNewTimelineEvents(eventIds: List) { + // noop + } + + override fun onTimelineUpdated(snapshot: List) { + val decryptedEventReceivedByBob = snapshot.filter { it.root.getClearType() == EventType.MESSAGE } + if (decryptedEventReceivedByBob.size == 3) { + bobFinalLatch.countDown() + } + } + } + bobTimeline.addListener(bobHasThreeDecryptedEventsListener) + + var latch = CountDownLatch(1) var bobEventsListener = createEventListener(latch, 1) bobTimeline.addListener(bobEventsListener) @@ -146,6 +166,10 @@ class UnwedgingTest : InstrumentedTest { messagesReceivedByBob[1].root.getClearType() shouldBeEqualTo EventType.MESSAGE messagesReceivedByBob[2].root.getClearType() shouldBeEqualTo EventType.MESSAGE + // Wait for all the message to be decrypted by bob + mTestHelper.await(bobFinalLatch) + bobTimeline.removeListener(bobHasThreeDecryptedEventsListener) + bobTimeline.dispose() cryptoTestData.cleanUp(mTestHelper)