Skip to content

Commit 2141fdb

Browse files
test: convert core tests to kotlin (#1245)
1 parent f16baa5 commit 2141fdb

12 files changed

+824
-670
lines changed

core/src/test/java/io/opentelemetry/android/AndroidResourceTest.java

Lines changed: 0 additions & 100 deletions
This file was deleted.
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.android
7+
8+
import android.app.Application
9+
import android.content.pm.ApplicationInfo
10+
import android.os.Build
11+
import io.opentelemetry.android.common.RumConstants
12+
import io.opentelemetry.sdk.resources.Resource
13+
import io.opentelemetry.semconv.ServiceAttributes
14+
import io.opentelemetry.semconv.incubating.DeviceIncubatingAttributes
15+
import io.opentelemetry.semconv.incubating.OsIncubatingAttributes
16+
import org.junit.jupiter.api.Assertions.assertEquals
17+
import org.junit.jupiter.api.Test
18+
import org.junit.jupiter.api.extension.ExtendWith
19+
import org.mockito.Answers
20+
import org.mockito.Mock
21+
import org.mockito.Mockito
22+
import org.mockito.junit.jupiter.MockitoExtension
23+
24+
@ExtendWith(MockitoExtension::class)
25+
internal class AndroidResourceTest {
26+
private val appName: String = "robotron"
27+
private val rumSdkVersion: String = BuildConfig.OTEL_ANDROID_VERSION
28+
private val osDescription: String =
29+
"Android Version " +
30+
Build.VERSION.RELEASE +
31+
" (Build " +
32+
Build.ID +
33+
" API level " +
34+
Build.VERSION.SDK_INT +
35+
")"
36+
37+
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
38+
private lateinit var app: Application
39+
40+
@Test
41+
fun testFullResource() {
42+
val appInfo = ApplicationInfo()
43+
appInfo.labelRes = 12345
44+
45+
Mockito
46+
.`when`(app.applicationContext.applicationInfo)
47+
.thenReturn(appInfo)
48+
Mockito
49+
.`when`(app.applicationContext.getString(appInfo.labelRes))
50+
.thenReturn(appName)
51+
52+
val expected =
53+
Resource
54+
.getDefault()
55+
.merge(
56+
Resource
57+
.builder()
58+
.put(ServiceAttributes.SERVICE_NAME, appName)
59+
.put(RumConstants.RUM_SDK_VERSION, rumSdkVersion)
60+
.put(DeviceIncubatingAttributes.DEVICE_MODEL_NAME, Build.MODEL)
61+
.put(
62+
DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER,
63+
Build.MODEL,
64+
).put(
65+
DeviceIncubatingAttributes.DEVICE_MANUFACTURER,
66+
Build.MANUFACTURER,
67+
).put(OsIncubatingAttributes.OS_NAME, "Android")
68+
.put(OsIncubatingAttributes.OS_TYPE, "linux")
69+
.put(OsIncubatingAttributes.OS_VERSION, Build.VERSION.RELEASE)
70+
.put(OsIncubatingAttributes.OS_DESCRIPTION, osDescription)
71+
.build(),
72+
)
73+
74+
val result = AndroidResource.createDefault(app)
75+
assertEquals(expected, result)
76+
}
77+
78+
@Test
79+
fun testProblematicContext() {
80+
Mockito
81+
.`when`(app.applicationContext.applicationInfo)
82+
.thenThrow(SecurityException("cannot do that"))
83+
Mockito.`when`(app.applicationContext.resources).thenThrow(
84+
SecurityException("boom"),
85+
)
86+
87+
val expected =
88+
Resource
89+
.getDefault()
90+
.merge(
91+
Resource
92+
.builder()
93+
.put(ServiceAttributes.SERVICE_NAME, "unknown_service:android")
94+
.put(RumConstants.RUM_SDK_VERSION, rumSdkVersion)
95+
.put(DeviceIncubatingAttributes.DEVICE_MODEL_NAME, Build.MODEL)
96+
.put(
97+
DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER,
98+
Build.MODEL,
99+
).put(
100+
DeviceIncubatingAttributes.DEVICE_MANUFACTURER,
101+
Build.MANUFACTURER,
102+
).put(OsIncubatingAttributes.OS_NAME, "Android")
103+
.put(OsIncubatingAttributes.OS_TYPE, "linux")
104+
.put(OsIncubatingAttributes.OS_VERSION, Build.VERSION.RELEASE)
105+
.put(OsIncubatingAttributes.OS_DESCRIPTION, osDescription)
106+
.build(),
107+
)
108+
109+
val result = AndroidResource.createDefault(app)
110+
assertEquals(expected, result)
111+
}
112+
}

core/src/test/java/io/opentelemetry/android/export/AttributeModifyingSpanExporterTest.java

Lines changed: 0 additions & 127 deletions
This file was deleted.

0 commit comments

Comments
 (0)