diff --git a/core/src/test/java/io/opentelemetry/android/AndroidResourceTest.kt b/core/src/test/java/io/opentelemetry/android/AndroidResourceTest.kt index 185bb5478..be1123e03 100644 --- a/core/src/test/java/io/opentelemetry/android/AndroidResourceTest.kt +++ b/core/src/test/java/io/opentelemetry/android/AndroidResourceTest.kt @@ -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 @@ -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 @@ -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) @@ -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 @@ -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)