Skip to content

Commit 7e9bf9b

Browse files
committed
add tests
1 parent 7777751 commit 7e9bf9b

File tree

1 file changed

+34
-10
lines changed

1 file changed

+34
-10
lines changed

instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/internal/ConfigPropertiesUtilTest.java

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,18 @@
77

88
import static org.assertj.core.api.Assertions.assertThat;
99

10+
import io.opentelemetry.api.OpenTelemetry;
1011
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration;
1112
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfigurationBuilder;
1213
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.ExperimentalLanguageSpecificInstrumentationModel;
1314
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.InstrumentationModel;
1415
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel;
1516
import java.util.Collections;
17+
import java.util.stream.Stream;
1618
import org.junit.jupiter.api.Test;
19+
import org.junit.jupiter.params.ParameterizedTest;
20+
import org.junit.jupiter.params.provider.Arguments;
21+
import org.junit.jupiter.params.provider.MethodSource;
1722
import org.junitpioneer.jupiter.SetEnvironmentVariable;
1823
import org.junitpioneer.jupiter.SetSystemProperty;
1924

@@ -61,30 +66,49 @@ void getInt_invalidNumber() {
6166
assertThat(ConfigPropertiesUtil.getInt("test.property.int", -1)).isEqualTo(-1);
6267
}
6368

64-
@SetEnvironmentVariable(key = "TEST_PROPERTY_BOOLEAN", value = "false")
65-
@SetSystemProperty(key = "test.property.boolean", value = "true")
69+
@SetEnvironmentVariable(key = "OTEL_INSTRUMENTATION_TEST_PROPERTY_BOOLEAN", value = "false")
70+
@SetSystemProperty(key = "otel.instrumentation.test.property.boolean", value = "true")
6671
@Test
6772
void getBoolean_systemProperty() {
68-
assertThat(ConfigPropertiesUtil.getBoolean("test.property.boolean", false)).isTrue();
73+
assertBoolean(true);
6974
}
7075

71-
@SetEnvironmentVariable(key = "TEST_PROPERTY_BOOLEAN", value = "true")
76+
@SetEnvironmentVariable(key = "OTEL_INSTRUMENTATION_TEST_PROPERTY_BOOLEAN", value = "true")
7277
@Test
7378
void getBoolean_environmentVariable() {
74-
assertThat(ConfigPropertiesUtil.getBoolean("test.property.boolean", false)).isTrue();
79+
assertBoolean(true);
7580
}
7681

7782
@Test
7883
void getBoolean_none() {
79-
assertThat(ConfigPropertiesUtil.getBoolean("test.property.boolean", false)).isFalse();
84+
assertBoolean(false);
8085
}
8186

82-
@Test
83-
void getBoolean_declarativeConfig() {
87+
private static void assertBoolean(boolean expected) {
88+
assertThat(ConfigPropertiesUtil.getBoolean("otel.instrumentation.test.property.boolean", false))
89+
.isEqualTo(expected);
90+
assertThat(
91+
ConfigPropertiesUtil.getBoolean(
92+
OpenTelemetry.noop(), false, "test", "property", "boolean"))
93+
.isEqualTo(expected);
94+
}
95+
96+
public static Stream<Arguments> booleanValuesProvider() {
97+
return Stream.of(
98+
Arguments.of(true, true),
99+
Arguments.of(false, false),
100+
Arguments.of("invalid", false),
101+
Arguments.of("true", false), // no type coercion in declarative config
102+
Arguments.of(null, false));
103+
}
104+
105+
@ParameterizedTest
106+
@MethodSource("booleanValuesProvider")
107+
void getBoolean_declarativeConfig(Object property, boolean expected) {
84108
assertThat(
85109
ConfigPropertiesUtil.getBoolean(
86-
DeclarativeConfiguration.create(model(true)), false, "foo", "bar"))
87-
.isTrue();
110+
DeclarativeConfiguration.create(model(property)), false, "foo", "bar"))
111+
.isEqualTo(expected);
88112
}
89113

90114
private static OpenTelemetryConfigurationModel model(Object value) {

0 commit comments

Comments
 (0)