|
7 | 7 |
|
8 | 8 | import static org.assertj.core.api.Assertions.assertThat; |
9 | 9 |
|
| 10 | +import io.opentelemetry.api.OpenTelemetry; |
10 | 11 | import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration; |
11 | 12 | import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfigurationBuilder; |
12 | 13 | import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.ExperimentalLanguageSpecificInstrumentationModel; |
13 | 14 | import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.InstrumentationModel; |
14 | 15 | import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel; |
15 | 16 | import java.util.Collections; |
| 17 | +import java.util.stream.Stream; |
16 | 18 | 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; |
17 | 22 | import org.junitpioneer.jupiter.SetEnvironmentVariable; |
18 | 23 | import org.junitpioneer.jupiter.SetSystemProperty; |
19 | 24 |
|
@@ -61,30 +66,49 @@ void getInt_invalidNumber() { |
61 | 66 | assertThat(ConfigPropertiesUtil.getInt("test.property.int", -1)).isEqualTo(-1); |
62 | 67 | } |
63 | 68 |
|
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") |
66 | 71 | @Test |
67 | 72 | void getBoolean_systemProperty() { |
68 | | - assertThat(ConfigPropertiesUtil.getBoolean("test.property.boolean", false)).isTrue(); |
| 73 | + assertBoolean(true); |
69 | 74 | } |
70 | 75 |
|
71 | | - @SetEnvironmentVariable(key = "TEST_PROPERTY_BOOLEAN", value = "true") |
| 76 | + @SetEnvironmentVariable(key = "OTEL_INSTRUMENTATION_TEST_PROPERTY_BOOLEAN", value = "true") |
72 | 77 | @Test |
73 | 78 | void getBoolean_environmentVariable() { |
74 | | - assertThat(ConfigPropertiesUtil.getBoolean("test.property.boolean", false)).isTrue(); |
| 79 | + assertBoolean(true); |
75 | 80 | } |
76 | 81 |
|
77 | 82 | @Test |
78 | 83 | void getBoolean_none() { |
79 | | - assertThat(ConfigPropertiesUtil.getBoolean("test.property.boolean", false)).isFalse(); |
| 84 | + assertBoolean(false); |
80 | 85 | } |
81 | 86 |
|
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) { |
84 | 108 | assertThat( |
85 | 109 | ConfigPropertiesUtil.getBoolean( |
86 | | - DeclarativeConfiguration.create(model(true)), false, "foo", "bar")) |
87 | | - .isTrue(); |
| 110 | + DeclarativeConfiguration.create(model(property)), false, "foo", "bar")) |
| 111 | + .isEqualTo(expected); |
88 | 112 | } |
89 | 113 |
|
90 | 114 | private static OpenTelemetryConfigurationModel model(Object value) { |
|
0 commit comments