@@ -3,17 +3,15 @@ package io.embrace.android.embracesdk.testcases.features
33import androidx.test.ext.junit.runners.AndroidJUnit4
44import io.embrace.android.embracesdk.LogExceptionType
55import io.embrace.android.embracesdk.Severity
6- import io.embrace.android.embracesdk.concurrency.BlockingScheduledExecutorService
76import io.embrace.android.embracesdk.fakes.config.FakeEnabledFeatureConfig
87import io.embrace.android.embracesdk.fakes.config.FakeInstrumentedConfig
8+ import io.embrace.android.embracesdk.internal.arch.schema.EmbType
99import io.embrace.android.embracesdk.internal.payload.Envelope
1010import io.embrace.android.embracesdk.internal.payload.LogPayload
1111import io.embrace.android.embracesdk.internal.utils.getSafeStackTrace
12- import io.embrace.android.embracesdk.internal.worker.Worker
1312import io.embrace.android.embracesdk.testframework.SdkIntegrationTestRule
14- import io.embrace.android.embracesdk.testframework.actions.EmbraceSetupInterface
1513import io.embrace.android.embracesdk.testframework.assertions.assertOtelLogReceived
16- import io.embrace.android.embracesdk.testframework.assertions.getLastLog
14+ import io.embrace.android.embracesdk.testframework.assertions.getLogOfType
1715import io.embrace.android.embracesdk.testframework.assertions.getOtelSeverity
1816import org.junit.Rule
1917import org.junit.Test
@@ -22,16 +20,15 @@ import org.junit.runner.RunWith
2220@RunWith(AndroidJUnit4 ::class )
2321internal class LogFeatureTest {
2422
25- private val instrumentedConfig = FakeInstrumentedConfig (enabledFeatures = FakeEnabledFeatureConfig (bgActivityCapture = true ))
26- private lateinit var executor: BlockingScheduledExecutorService
23+ private val instrumentedConfig = FakeInstrumentedConfig (
24+ enabledFeatures = FakeEnabledFeatureConfig (
25+ bgActivityCapture = true
26+ )
27+ )
2728
2829 @Rule
2930 @JvmField
30- val testRule: SdkIntegrationTestRule = SdkIntegrationTestRule {
31- EmbraceSetupInterface (workerToFake = Worker .Background .LogMessageWorker ).also {
32- executor = it.getFakedWorkerExecutor()
33- }
34- }
31+ val testRule: SdkIntegrationTestRule = SdkIntegrationTestRule ()
3532
3633 @Test
3734 fun `log info message sent in foreground` () {
@@ -40,11 +37,11 @@ internal class LogFeatureTest {
4037 testCaseAction = {
4138 recordSession {
4239 embrace.logInfo(" test message" )
43- flushLogs()
40+
4441 }
4542 },
4643 assertAction = {
47- val log = getSingleLogEnvelope().getLastLog( )
44+ val log = getSingleLogEnvelope().getLogOfType( EmbType . System . Log )
4845 assertOtelLogReceived(
4946 logReceived = log,
5047 expectedMessage = " test message" ,
@@ -62,10 +59,10 @@ internal class LogFeatureTest {
6259 instrumentedConfig = instrumentedConfig,
6360 testCaseAction = {
6461 embrace.logWarning(" test message" )
65- flushLogs( )
62+ clock.tick( 2000L )
6663 },
6764 assertAction = {
68- val log = getSingleLogEnvelope().getLastLog( )
65+ val log = getSingleLogEnvelope().getLogOfType( EmbType . System . Log )
6966 assertOtelLogReceived(
7067 logReceived = log,
7168 expectedMessage = " test message" ,
@@ -82,10 +79,11 @@ internal class LogFeatureTest {
8279 instrumentedConfig = instrumentedConfig,
8380 testCaseAction = {
8481 embrace.logError(" test message" )
85- flushLogs()
82+ clock.tick(2000L )
83+
8684 },
8785 assertAction = {
88- val log = getSingleLogEnvelope().getLastLog( )
86+ val log = getSingleLogEnvelope().getLogOfType( EmbType . System . Log )
8987 assertOtelLogReceived(
9088 log,
9189 expectedMessage = " test message" ,
@@ -105,7 +103,7 @@ internal class LogFeatureTest {
105103 val expectedMessage = " test message ${severity.name} "
106104 embrace.logMessage(expectedMessage, severity)
107105 }
108- flushLogs( )
106+ clock.tick( 2000L )
109107 },
110108 assertAction = {
111109 val logs = groupLogsBySeverity(getSingleLogEnvelope())
@@ -132,7 +130,7 @@ internal class LogFeatureTest {
132130 val expectedMessage = " test message ${severity.name} "
133131 embrace.logMessage(expectedMessage, severity, customProperties)
134132 }
135- flushLogs( )
133+ clock.tick( 2000L )
136134 },
137135 assertAction = {
138136 val logs = groupLogsBySeverity(getSingleLogEnvelope())
@@ -156,10 +154,10 @@ internal class LogFeatureTest {
156154 instrumentedConfig = instrumentedConfig,
157155 testCaseAction = {
158156 embrace.logException(testException)
159- flushLogs( )
157+ clock.tick( 2000L )
160158 },
161159 assertAction = {
162- val log = getSingleLogEnvelope().getLastLog( )
160+ val log = getSingleLogEnvelope().getLogOfType( EmbType . System . Exception )
163161 assertOtelLogReceived(
164162 log,
165163 expectedMessage = checkNotNull(testException.message),
@@ -181,10 +179,10 @@ internal class LogFeatureTest {
181179 instrumentedConfig = instrumentedConfig,
182180 testCaseAction = {
183181 embrace.logException(testException, Severity .INFO )
184- flushLogs( )
182+ clock.tick( 2000L )
185183 },
186184 assertAction = {
187- val log = getSingleLogEnvelope().getLastLog( )
185+ val log = getSingleLogEnvelope().getLogOfType( EmbType . System . Exception )
188186 assertOtelLogReceived(
189187 log,
190188 expectedMessage = checkNotNull(testException.message),
@@ -211,7 +209,7 @@ internal class LogFeatureTest {
211209 customProperties
212210 )
213211 }
214- flushLogs( )
212+ clock.tick( 2000L )
215213 },
216214 assertAction = {
217215 val logs = groupLogsBySeverity(getSingleLogEnvelope())
@@ -243,7 +241,7 @@ internal class LogFeatureTest {
243241 val expectedMessage = " test message ${severity.name} "
244242 embrace.logException(testException, severity, customProperties, expectedMessage)
245243 }
246- flushLogs( )
244+ clock.tick( 2000L )
247245 },
248246 assertAction = {
249247 val logs = groupLogsBySeverity(getSingleLogEnvelope())
@@ -273,10 +271,10 @@ internal class LogFeatureTest {
273271 instrumentedConfig = instrumentedConfig,
274272 testCaseAction = {
275273 embrace.logCustomStacktrace(stacktrace)
276- flushLogs( )
274+ clock.tick( 2000L )
277275 },
278276 assertAction = {
279- val log = getSingleLogEnvelope().getLastLog( )
277+ val log = getSingleLogEnvelope().getLogOfType( EmbType . System . Exception )
280278 assertOtelLogReceived(
281279 log,
282280 expectedMessage = " " ,
@@ -298,7 +296,7 @@ internal class LogFeatureTest {
298296 Severity .values().forEach { severity ->
299297 embrace.logCustomStacktrace(stacktrace, severity)
300298 }
301- flushLogs( )
299+ clock.tick( 2000L )
302300 },
303301 assertAction = {
304302 val logs = groupLogsBySeverity(getSingleLogEnvelope())
@@ -326,7 +324,7 @@ internal class LogFeatureTest {
326324 Severity .values().forEach { severity ->
327325 embrace.logCustomStacktrace(stacktrace, severity, customProperties)
328326 }
329- flushLogs( )
327+ clock.tick( 2000L )
330328 },
331329 assertAction = {
332330 val logs = groupLogsBySeverity(getSingleLogEnvelope())
@@ -361,7 +359,7 @@ internal class LogFeatureTest {
361359 expectedMessage
362360 )
363361 }
364- flushLogs( )
362+ clock.tick( 2000L )
365363 },
366364 assertAction = {
367365 val envelope = getSingleLogEnvelope()
@@ -384,11 +382,6 @@ internal class LogFeatureTest {
384382 )
385383 }
386384
387- private fun flushLogs () {
388- executor.runCurrentlyBlocked()
389- testRule.bootstrapper.logModule.logOrchestrator.flush(false )
390- }
391-
392385 private fun getEmbraceSeverity (severityNumber : Int ): Severity {
393386 return when (severityNumber) {
394387 io.opentelemetry.api.logs.Severity .INFO .severityNumber -> Severity .INFO
0 commit comments