Skip to content

Commit 0d3bd4f

Browse files
authored
chore: remove delay from event bus tests (#574)
1 parent 1dafe4a commit 0d3bd4f

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

core/src/test/java/io/customer/sdk/communication/EventBusTest.kt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import io.customer.sdk.core.util.ScopeProvider
99
import io.customer.sdk.events.Metric
1010
import kotlinx.coroutines.async
1111
import kotlinx.coroutines.awaitAll
12-
import kotlinx.coroutines.delay
1312
import kotlinx.coroutines.runBlocking
13+
import kotlinx.coroutines.yield
1414
import org.amshove.kluent.internal.assertEquals
1515
import org.amshove.kluent.shouldBe
1616
import org.amshove.kluent.shouldBeEqualTo
@@ -52,7 +52,7 @@ class EventBusTest : JUnit5Test() {
5252
println("Publishing event: $testEvent")
5353
eventBus.publish(testEvent)
5454

55-
delay(100) // Give some time for the event to be collected
55+
yield() // Allow event processing
5656

5757
events.shouldHaveSingleItem()
5858
.shouldBeInstanceOf<Event.ProfileIdentifiedEvent>()
@@ -72,7 +72,7 @@ class EventBusTest : JUnit5Test() {
7272
println("Publishing first event: $firstEvent")
7373
eventBus.publish(firstEvent)
7474

75-
delay(100) // Give some time for the event to be collected
75+
yield() // Allow event processing
7676

7777
assertEquals(1, events.size)
7878
assertEquals(firstEvent.name, (events[0] as Event.ScreenViewedEvent).name)
@@ -84,7 +84,7 @@ class EventBusTest : JUnit5Test() {
8484
println("Publishing second event: $secondEvent")
8585
eventBus.publish(secondEvent)
8686

87-
delay(100) // Give some time for the event to be collected
87+
yield() // Allow event processing
8888

8989
events.size shouldBeEqualTo 1 // No new events should be collected after cancelAll()
9090
}
@@ -106,7 +106,7 @@ class EventBusTest : JUnit5Test() {
106106
println("Publishing event: $testEvent")
107107
eventBus.publish(testEvent)
108108

109-
delay(200) // Give some time for the event to be collected
109+
yield() // Allow event processing
110110

111111
subscriber1.shouldHaveSingleItem()
112112
.shouldBeInstanceOf<Event.TrackPushMetricEvent>()
@@ -147,7 +147,7 @@ class EventBusTest : JUnit5Test() {
147147
eventBus.publish(testEvent1)
148148
eventBus.publish(testEvent2)
149149

150-
delay(100) // Give some time for the events to be collected
150+
yield() // Allow event processing
151151

152152
subscriber1.size shouldBeEqualTo 2
153153
subscriber1.map { it as Event.RegisterDeviceTokenEvent }.any { it.token == "Token 1" } shouldBe true
@@ -171,7 +171,7 @@ class EventBusTest : JUnit5Test() {
171171
val unrelatedEvent = Event.ResetEvent
172172
eventBus.publish(unrelatedEvent)
173173

174-
delay(100) // Give some time to ensure no events are collected
174+
yield() // Allow event processing
175175

176176
assertEquals(0, events.size) // No events should be collected
177177

@@ -187,14 +187,14 @@ class EventBusTest : JUnit5Test() {
187187
eventBus.publish(event)
188188
}
189189

190-
delay(100) // Give some time for the events to be published
190+
yield() // Allow event processing
191191

192192
val events = mutableListOf<Event>()
193193
val job = eventBus.subscribe<Event.TrackInAppMetricEvent> { event ->
194194
events.add(event)
195195
}
196196

197-
delay(100) // Give some time for the events to be collected by the new subscriber
197+
yield() // Allow event processing
198198

199199
for (i in 0 until 15) {
200200
(events[i] as Event.TrackInAppMetricEvent).event shouldBeEqualTo Metric.Delivered
@@ -220,7 +220,7 @@ class EventBusTest : JUnit5Test() {
220220
}
221221
publishJobs.awaitAll()
222222

223-
delay(200) // Give time for all events to be processed
223+
yield() // Allow event processing
224224

225225
// Should receive all 100 events
226226
events.size shouldBeEqualTo 100
@@ -251,7 +251,7 @@ class EventBusTest : JUnit5Test() {
251251
eventBus.publish(Event.ScreenViewedEvent("screen$index"))
252252
}
253253

254-
delay(500) // Allow processing time
254+
yield() // Allow event processing
255255

256256
val duration = System.currentTimeMillis() - startTime
257257

@@ -277,14 +277,14 @@ class EventBusTest : JUnit5Test() {
277277
eventBus.publish(Event.TrackInAppMetricEvent("deliveryId$index", Metric.Delivered, params = mapOf("index" to index.toString())))
278278
}
279279

280-
delay(100) // Allow events to be buffered
280+
yield() // Allow event processing
281281

282282
val events = mutableListOf<Event>()
283283
val job = eventBus.subscribe<Event.TrackInAppMetricEvent> { event ->
284284
events.add(event)
285285
}
286286

287-
delay(100) // Give time for replay events to be delivered
287+
yield() // Allow event processing
288288

289289
// Should only receive the last 100 events due to replay buffer limit
290290
events.size shouldBeEqualTo 100

0 commit comments

Comments
 (0)