Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import io.embrace.android.embracesdk.arch.assertError
import io.embrace.android.embracesdk.assertions.findSpansOfType
import io.embrace.android.embracesdk.fakes.FakeActivity
import io.embrace.android.embracesdk.fakes.FakeEmbLogger
import io.embrace.android.embracesdk.fakes.FakeSplashScreenActivity
import io.embrace.android.embracesdk.fakes.config.FakeEnabledFeatureConfig
import io.embrace.android.embracesdk.fakes.config.FakeInstrumentedConfig
Expand Down Expand Up @@ -40,7 +39,7 @@ internal class AppStartupTraceTest {
@JvmField
val testRule: SdkIntegrationTestRule = SdkIntegrationTestRule {
EmbraceSetupInterface().apply {
(overriddenInitModule.logger as FakeEmbLogger).ignoredErrors.clear()
getEmbLogger().ignoredErrors.clear()
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ internal class PublicApiTest {
recordSession {
assertEquals(
embrace.currentSessionId,
testRule.setup.overriddenOpenTelemetryModule.currentSessionSpan.getSessionId()
testRule.setup.getCurrentSessionSpan().getSessionId()
)
assertNotNull(embrace.currentSessionId)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,7 @@ internal class TracingApiTest {
)
val allSpans = getSdkInitSpanFromBackgroundActivity() +
checkNotNull(session.data.spans) +
testRule.setup.overriddenOpenTelemetryModule.spanSink.completedSpans()
.map(EmbraceSpanData::toNewPayload)
testRule.setup.getSpanSink().completedSpans().map(EmbraceSpanData::toNewPayload)

val spansMap = allSpans.associateBy { it.name }
val sessionSpan = checkNotNull(spansMap["emb-session"])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith

private const val START_TIME_MS = 10000000000L
private const val INTERVAL_MS = 100L
private const val ANR_THRESHOLD_MS = 1000L
private const val MAX_SAMPLE_COUNT = 80
Expand All @@ -29,19 +28,21 @@ internal class AnrFeatureTest {

private lateinit var anrMonitorExecutor: BlockingScheduledExecutorService
private lateinit var blockedThreadDetector: BlockedThreadDetector
private var startTimeMs: Long = 0L

@Rule
@JvmField
val testRule: SdkIntegrationTestRule = SdkIntegrationTestRule {
EmbraceSetupInterface(
currentTimeMs = START_TIME_MS,
workerToFake = Worker.Background.AnrWatchdogWorker,
anrMonitoringThread = Thread.currentThread()
).also {
with(it) {
anrMonitorExecutor = getFakedWorkerExecutor()
anrMonitorExecutor.blockingMode = false
blockedThreadDetector = getBlockedThreadDetector()
startTimeMs = getClock().now()

}
}
}
Expand All @@ -66,7 +67,7 @@ internal class AnrFeatureTest {
// assert ANRs received
val spans = message.findAnrSpans()
assertEquals(2, spans.size)
assertAnrReceived(spans[0], START_TIME_MS, firstSampleCount)
assertAnrReceived(spans[0], startTimeMs, firstSampleCount)
assertAnrReceived(spans[1], checkNotNull(secondAnrStartTime), secondSampleCount)
}
)
Expand All @@ -88,7 +89,7 @@ internal class AnrFeatureTest {
// assert ANRs received
val spans = message.findAnrSpans()
val span = spans.single()
assertAnrReceived(span, START_TIME_MS, sampleCount)
assertAnrReceived(span, startTimeMs, sampleCount)
}
)
}
Expand Down Expand Up @@ -149,7 +150,7 @@ internal class AnrFeatureTest {
// assert ANRs received
val spans = message.findAnrSpans()
val span = spans.single()
assertAnrReceived(span, START_TIME_MS, sampleCount, endTime = endTime)
assertAnrReceived(span, startTimeMs, sampleCount, endTime = endTime)
}
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package io.embrace.android.embracesdk.testcases.features

import androidx.test.ext.junit.runners.AndroidJUnit4
import io.embrace.android.embracesdk.fakes.FakeEmbLogger
import io.embrace.android.embracesdk.internal.spans.findAttributeValue
import io.embrace.android.embracesdk.testframework.SdkIntegrationTestRule
import io.embrace.android.embracesdk.testframework.assertions.getLogWithAttributeValue
Expand All @@ -22,7 +21,7 @@ internal class InternalErrorLogTest {
fun `internal error log delivered`() {
testRule.runTest(
setupAction = {
(overriddenInitModule.logger as FakeEmbLogger).throwOnInternalError = false
getEmbLogger().throwOnInternalError = false

},
testCaseAction = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package io.embrace.android.embracesdk.testcases.features

import androidx.test.ext.junit.runners.AndroidJUnit4
import io.embrace.android.embracesdk.assertions.getSessionId
import io.embrace.android.embracesdk.fakes.FakeEmbLogger
import io.embrace.android.embracesdk.fakes.FakePayloadStorageService
import io.embrace.android.embracesdk.fakes.TestPlatformSerializer
import io.embrace.android.embracesdk.fakes.config.FakeEnabledFeatureConfig
Expand All @@ -11,6 +10,7 @@ import io.embrace.android.embracesdk.fakes.fakeEnvelopeMetadata
import io.embrace.android.embracesdk.fakes.fakeEnvelopeResource
import io.embrace.android.embracesdk.fakes.fakeLaterEnvelopeMetadata
import io.embrace.android.embracesdk.fakes.fakeLaterEnvelopeResource
import io.embrace.android.embracesdk.internal.arch.schema.EmbType
import io.embrace.android.embracesdk.internal.delivery.PayloadType
import io.embrace.android.embracesdk.internal.delivery.StoredTelemetryMetadata
import io.embrace.android.embracesdk.internal.delivery.SupportedEnvelopeType
Expand All @@ -22,7 +22,7 @@ import io.embrace.android.embracesdk.testframework.actions.EmbracePayloadAsserti
import io.embrace.android.embracesdk.testframework.actions.EmbraceSetupInterface
import io.embrace.android.embracesdk.testframework.actions.StoredNativeCrashData
import io.embrace.android.embracesdk.testframework.actions.createStoredNativeCrashData
import io.embrace.android.embracesdk.testframework.assertions.getLastLog
import io.embrace.android.embracesdk.testframework.assertions.getLogOfType
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
Expand Down Expand Up @@ -103,7 +103,7 @@ internal class NativeCrashFeatureTest {
EmbraceSetupInterface(
processIdentifier = "8115ec91-3e5e-4d8a-816d-cc40306f9822"
).apply {
(overriddenInitModule.logger as FakeEmbLogger).throwOnInternalError = false
getEmbLogger().throwOnInternalError = false
}
}

Expand Down Expand Up @@ -133,7 +133,7 @@ internal class NativeCrashFeatureTest {
assertEquals(fakeEnvelopeResource, resource)
assertEquals(fakeEnvelopeMetadata, metadata)
}
val log = envelope.getLastLog()
val log = envelope.getLogOfType(EmbType.System.NativeCrash)
assertNativeCrashSent(log, crashData, testRule.setup.symbols)
}
)
Expand All @@ -160,7 +160,7 @@ internal class NativeCrashFeatureTest {
assertEquals(fakeEnvelopeResource, resource)
assertEquals(fakeEnvelopeMetadata, metadata)
}
val log = envelope.getLastLog()
val log = envelope.getLogOfType(EmbType.System.NativeCrash)
assertNativeCrashSent(log, crashData, testRule.setup.symbols)
}
)
Expand Down Expand Up @@ -212,8 +212,8 @@ internal class NativeCrashFeatureTest {
assertEquals(fakeLaterEnvelopeMetadata, metadata)
}

val log1 = crashEnvelope1.getLastLog()
val log2 = crashEnvelope2.getLastLog()
val log1 = crashEnvelope1.getLogOfType(EmbType.System.NativeCrash)
val log2 = crashEnvelope2.getLogOfType(EmbType.System.NativeCrash)

assertNativeCrashSent(log1, crashData, testRule.setup.symbols)
assertNativeCrashSent(log2, crashData2, testRule.setup.symbols)
Expand Down Expand Up @@ -291,7 +291,7 @@ internal class NativeCrashFeatureTest {
}

private fun findMatchingSessionId(it: Envelope<LogPayload>, data: StoredNativeCrashData): Boolean {
return it.getLastLog().attributes?.findAttributeValue("session.id") == data.nativeCrash.sessionId
return it.getLogOfType(EmbType.System.NativeCrash).attributes?.findAttributeValue("session.id") == data.nativeCrash.sessionId
}

private fun EmbracePayloadAssertionInterface.assertNoNativeCrashSent(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ internal class PersonaFeaturesTest {
fun `personas found in metadata`() {
testRule.runTest(
setupAction = {
overriddenAndroidServicesModule.preferencesService.userPersonas = setOf("preloaded")
getPreferencesService().userPersonas = setOf("preloaded")
},
testCaseAction = {
embrace.addUserPersona("payer")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ internal class PruningFeatureTest {
@JvmField
val testRule: SdkIntegrationTestRule = SdkIntegrationTestRule {
EmbraceSetupInterface().apply {
(overriddenInitModule.logger as FakeEmbLogger).throwOnInternalError = false
getEmbLogger().throwOnInternalError = false
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package io.embrace.android.embracesdk.testcases.features

import android.os.Build.VERSION_CODES.TIRAMISU
import androidx.test.ext.junit.runners.AndroidJUnit4
import io.embrace.android.embracesdk.fakes.FakeEmbLogger
import io.embrace.android.embracesdk.fakes.FakePayloadStorageService
import io.embrace.android.embracesdk.fakes.TestPlatformSerializer
import io.embrace.android.embracesdk.fakes.config.FakeEnabledFeatureConfig
Expand All @@ -24,12 +24,13 @@ import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.annotation.Config

@Config(sdk = [TIRAMISU])
@RunWith(AndroidJUnit4::class)
internal class ResurrectionFeatureTest {

Expand All @@ -40,20 +41,11 @@ internal class ResurrectionFeatureTest {
@JvmField
val testRule: SdkIntegrationTestRule = SdkIntegrationTestRule {
EmbraceSetupInterface().apply {
(overriddenInitModule.logger as FakeEmbLogger).throwOnInternalError = false
getEmbLogger().throwOnInternalError = false
cacheStorageService = FakePayloadStorageService(processIdProvider = getProcessIdentifierProvider())
}
}

@Before
fun setUp() {
cacheStorageService =
FakePayloadStorageService(
processIdProvider = {
testRule.setup.overriddenOpenTelemetryModule.openTelemetryConfiguration.processIdentifier
}
)
}

@Test
fun `crashed session and native crash resurrected and sent properly`() {
val crashData = createStoredNativeCrashData(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ internal class SessionPropertiesTest {
}

private fun EmbraceSetupInterface.setupPermanentProperties() {
overriddenAndroidServicesModule.preferencesService.permanentSessionProperties =
getPreferencesService().permanentSessionProperties =
mapOf(
EXISTING_KEY_1 to VALUE,
EXISTING_KEY_2 to VALUE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ internal class UserFeaturesTest {
fun `user info setting and clearing`() {
testRule.runTest(
setupAction = {
overriddenAndroidServicesModule.preferencesService.apply {
getPreferencesService().apply {
userIdentifier = "customId"
username = "customUserName"
userEmailAddress = "custom@domain.com"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ import io.embrace.android.embracesdk.testframework.actions.EmbraceSetupInterface
import io.embrace.android.embracesdk.testframework.export.FilteredLogExporter
import io.embrace.android.embracesdk.testframework.export.FilteredSpanExporter
import io.embrace.android.embracesdk.testframework.server.FakeApiServer
import java.io.File
import okhttp3.Protocol
import okhttp3.mockwebserver.MockWebServer
import org.junit.Assert.assertEquals
import org.junit.rules.ExternalResource
import java.io.File

/**
* A [org.junit.Rule] that is responsible for setting up and tearing down the Embrace SDK for use in
Expand Down Expand Up @@ -156,7 +156,7 @@ internal class SdkIntegrationTestRule(
persistConfig(persistedRemoteConfig)

if (startSdk) {
embraceImpl.start(overriddenCoreModule.context)
embraceImpl.start(getContext())
assertEquals(
"SDK did not start in integration test.",
expectSdkToStart,
Expand Down
Loading
Loading