Skip to content

Commit c4acad4

Browse files
committed
Add tests for DistroComponentProvider.addDistroResourceProvider
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
1 parent edfa65d commit c4acad4

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/*
2+
* Copyright Grafana Labs
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package com.grafana.extensions.resources.internal;
7+
8+
import static org.assertj.core.api.Assertions.assertThat;
9+
10+
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.ExperimentalResourceDetectorModel;
11+
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel;
12+
import org.junit.jupiter.api.Test;
13+
14+
class DistroComponentProviderTest {
15+
16+
@Test
17+
void addsDetectorWhenAbsent() {
18+
OpenTelemetryConfigurationModel model = new OpenTelemetryConfigurationModel();
19+
20+
DistroComponentProvider.addDistroResourceProvider(model);
21+
22+
assertThat(model.getResource().getDetectionDevelopment().getDetectors())
23+
.hasSize(1)
24+
.first()
25+
.satisfies(
26+
d ->
27+
assertThat(d.getAdditionalProperties())
28+
.containsKey(DistroComponentProvider.GRAFANA_JAVAAGENT_DISTRIBUTION));
29+
}
30+
31+
@Test
32+
void doesNotDuplicateWhenPresent() {
33+
OpenTelemetryConfigurationModel model = new OpenTelemetryConfigurationModel();
34+
DistroComponentProvider.addDistroResourceProvider(model);
35+
DistroComponentProvider.addDistroResourceProvider(model);
36+
37+
assertThat(model.getResource().getDetectionDevelopment().getDetectors()).hasSize(1);
38+
}
39+
40+
@Test
41+
void preservesExistingDetectors() {
42+
OpenTelemetryConfigurationModel model = new OpenTelemetryConfigurationModel();
43+
DistroComponentProvider.addDistroResourceProvider(model);
44+
45+
// Add another detector
46+
ExperimentalResourceDetectorModel other = new ExperimentalResourceDetectorModel();
47+
other.getAdditionalProperties().put("other-detector", null);
48+
model.getResource().getDetectionDevelopment().getDetectors().add(other);
49+
50+
DistroComponentProvider.addDistroResourceProvider(model);
51+
52+
assertThat(model.getResource().getDetectionDevelopment().getDetectors()).hasSize(2);
53+
}
54+
}

0 commit comments

Comments
 (0)