Skip to content
Merged
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 @@ -8,20 +8,18 @@ package io.opentelemetry.android
import android.app.Application
import android.content.pm.ApplicationInfo
import android.os.Build
import io.mockk.MockKAnnotations
import io.mockk.every
import io.mockk.impl.annotations.RelaxedMockK
import io.opentelemetry.android.common.RumConstants
import io.opentelemetry.sdk.resources.Resource
import io.opentelemetry.semconv.ServiceAttributes
import io.opentelemetry.semconv.incubating.DeviceIncubatingAttributes
import io.opentelemetry.semconv.incubating.OsIncubatingAttributes
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import org.mockito.Answers
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.junit.jupiter.MockitoExtension

@ExtendWith(MockitoExtension::class)
internal class AndroidResourceTest {
private val appName: String = "robotron"
private val rumSdkVersion: String = BuildConfig.OTEL_ANDROID_VERSION
Expand All @@ -34,20 +32,23 @@ internal class AndroidResourceTest {
Build.VERSION.SDK_INT +
")"

@Mock(answer = Answers.RETURNS_DEEP_STUBS)
@RelaxedMockK
private lateinit var app: Application

@BeforeEach
fun setUp() {
MockKAnnotations.init(this)
}

@Test
fun testFullResource() {
val appInfo = ApplicationInfo()
appInfo.labelRes = 12345
val appInfo =
ApplicationInfo().apply {
labelRes = 12345
}

Mockito
.`when`(app.applicationContext.applicationInfo)
.thenReturn(appInfo)
Mockito
.`when`(app.applicationContext.getString(appInfo.labelRes))
.thenReturn(appName)
every { app.applicationContext.applicationInfo } returns appInfo
every { app.applicationContext.getString(appInfo.labelRes) } returns appName

val expected =
Resource
Expand All @@ -58,13 +59,9 @@ internal class AndroidResourceTest {
.put(ServiceAttributes.SERVICE_NAME, appName)
.put(RumConstants.RUM_SDK_VERSION, rumSdkVersion)
.put(DeviceIncubatingAttributes.DEVICE_MODEL_NAME, Build.MODEL)
.put(
DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER,
Build.MODEL,
).put(
DeviceIncubatingAttributes.DEVICE_MANUFACTURER,
Build.MANUFACTURER,
).put(OsIncubatingAttributes.OS_NAME, "Android")
.put(DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER, Build.MODEL)
.put(DeviceIncubatingAttributes.DEVICE_MANUFACTURER, Build.MANUFACTURER)
.put(OsIncubatingAttributes.OS_NAME, "Android")
.put(OsIncubatingAttributes.OS_TYPE, "linux")
.put(OsIncubatingAttributes.OS_VERSION, Build.VERSION.RELEASE)
.put(OsIncubatingAttributes.OS_DESCRIPTION, osDescription)
Expand All @@ -77,12 +74,8 @@ internal class AndroidResourceTest {

@Test
fun testProblematicContext() {
Mockito
.`when`(app.applicationContext.applicationInfo)
.thenThrow(SecurityException("cannot do that"))
Mockito.`when`(app.applicationContext.resources).thenThrow(
SecurityException("boom"),
)
every { app.applicationContext.applicationInfo } throws SecurityException("cannot do that")
every { app.applicationContext.resources } throws SecurityException("boom")

val expected =
Resource
Expand All @@ -93,13 +86,9 @@ internal class AndroidResourceTest {
.put(ServiceAttributes.SERVICE_NAME, "unknown_service:android")
.put(RumConstants.RUM_SDK_VERSION, rumSdkVersion)
.put(DeviceIncubatingAttributes.DEVICE_MODEL_NAME, Build.MODEL)
.put(
DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER,
Build.MODEL,
).put(
DeviceIncubatingAttributes.DEVICE_MANUFACTURER,
Build.MANUFACTURER,
).put(OsIncubatingAttributes.OS_NAME, "Android")
.put(DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER, Build.MODEL)
.put(DeviceIncubatingAttributes.DEVICE_MANUFACTURER, Build.MANUFACTURER)
.put(OsIncubatingAttributes.OS_NAME, "Android")
.put(OsIncubatingAttributes.OS_TYPE, "linux")
.put(OsIncubatingAttributes.OS_VERSION, Build.VERSION.RELEASE)
.put(OsIncubatingAttributes.OS_DESCRIPTION, osDescription)
Expand Down