diff options
author | sebright <sebright@google.com> | 2018-09-04 10:28:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-04 10:28:37 -0700 |
commit | 6638ad600f91723562925ba88cbd64411e0ab595 (patch) | |
tree | a4465e85281bf8edd232c3f8ea191ca1d7e38db0 /contrib | |
parent | 8a95c21ee28805311d82d76d4dd323d778c59bbd (diff) | |
download | opencensus-java-6638ad600f91723562925ba88cbd64411e0ab595.tar.gz |
Log4j log correlation: Add unit tests for handling configuration properties. (#1405)
Diffstat (limited to 'contrib')
2 files changed, 68 insertions, 1 deletions
diff --git a/contrib/log_correlation/log4j/src/test/java/io/opencensus/contrib/logcorrelation/log4j/OpenCensusLog4jLogCorrelationAllSpansTest.java b/contrib/log_correlation/log4j/src/test/java/io/opencensus/contrib/logcorrelation/log4j/OpenCensusLog4jLogCorrelationAllSpansTest.java index 7b992e45..fb417004 100644 --- a/contrib/log_correlation/log4j/src/test/java/io/opencensus/contrib/logcorrelation/log4j/OpenCensusLog4jLogCorrelationAllSpansTest.java +++ b/contrib/log_correlation/log4j/src/test/java/io/opencensus/contrib/logcorrelation/log4j/OpenCensusLog4jLogCorrelationAllSpansTest.java @@ -36,7 +36,6 @@ import org.junit.runners.JUnit4; * OpenCensusTraceContextDataInjector#SPAN_SELECTION_PROPERTY_NAME} set to {@link * SpanSelection#ALL_SPANS}. */ -// TODO(sebright): Add a test with non-empty configuration properties. @RunWith(JUnit4.class) public final class OpenCensusLog4jLogCorrelationAllSpansTest extends AbstractOpenCensusLog4jLogCorrelationTest { diff --git a/contrib/log_correlation/log4j/src/test/java/io/opencensus/contrib/logcorrelation/log4j/OpenCensusTraceContextDataInjectorTest.java b/contrib/log_correlation/log4j/src/test/java/io/opencensus/contrib/logcorrelation/log4j/OpenCensusTraceContextDataInjectorTest.java index 65c37f1f..832ab668 100644 --- a/contrib/log_correlation/log4j/src/test/java/io/opencensus/contrib/logcorrelation/log4j/OpenCensusTraceContextDataInjectorTest.java +++ b/contrib/log_correlation/log4j/src/test/java/io/opencensus/contrib/logcorrelation/log4j/OpenCensusTraceContextDataInjectorTest.java @@ -18,7 +18,15 @@ package io.opencensus.contrib.logcorrelation.log4j; import static com.google.common.truth.Truth.assertThat; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Lists; import io.opencensus.contrib.logcorrelation.log4j.OpenCensusTraceContextDataInjector.SpanSelection; +import java.util.Collections; +import java.util.Map; +import org.apache.logging.log4j.core.config.Property; +import org.apache.logging.log4j.util.BiConsumer; +import org.apache.logging.log4j.util.SortedArrayStringMap; +import org.apache.logging.log4j.util.StringMap; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -82,4 +90,64 @@ public final class OpenCensusTraceContextDataInjectorTest { System.clearProperty(OpenCensusTraceContextDataInjector.SPAN_SELECTION_PROPERTY_NAME); } } + + @Test + public void insertConfigurationProperties() { + assertThat( + toMap( + new OpenCensusTraceContextDataInjector() + .injectContextData( + Lists.newArrayList( + Property.createProperty("property1", "value1"), + Property.createProperty("property2", "value2")), + new SortedArrayStringMap()))) + .containsExactly( + "property1", + "value1", + "property2", + "value2", + "openCensusTraceId", + "00000000000000000000000000000000", + "openCensusSpanId", + "0000000000000000", + "openCensusTraceSampled", + "false"); + } + + @Test + public void handleEmptyConfigurationProperties() { + assertContainsOnlyDefaultTracingEntries( + new OpenCensusTraceContextDataInjector() + .injectContextData(Collections.<Property>emptyList(), new SortedArrayStringMap())); + } + + @Test + public void handleNullConfigurationProperties() { + assertContainsOnlyDefaultTracingEntries( + new OpenCensusTraceContextDataInjector() + .injectContextData(null, new SortedArrayStringMap())); + } + + private static void assertContainsOnlyDefaultTracingEntries(StringMap stringMap) { + assertThat(toMap(stringMap)) + .containsExactly( + "openCensusTraceId", + "00000000000000000000000000000000", + "openCensusSpanId", + "0000000000000000", + "openCensusTraceSampled", + "false"); + } + + private static Map<String, String> toMap(StringMap stringMap) { + final ImmutableMap.Builder<String, String> builder = ImmutableMap.builder(); + stringMap.forEach( + new BiConsumer<String, String>() { + @Override + public void accept(String key, String value) { + builder.put(key, value); + } + }); + return builder.build(); + } } |