Cleanup test case based on review comments

This commit is contained in:
svenz
2017-05-30 19:19:27 -07:00
parent 6948088085
commit e783df88a0

View File

@@ -1,15 +1,12 @@
package org.springframework.cloud.sleuth.instrument.web;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.assertj.core.api.BDDAssertions.*;
import java.net.URL;
import java.util.Arrays;
import java.util.Map;
import java.util.Random;
import org.junit.Before;
import org.junit.Test;
import org.springframework.cloud.sleuth.DefaultSpanNamer;
import org.springframework.cloud.sleuth.NoOpSpanReporter;
@@ -27,41 +24,49 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
/**
* Test case for HttpTraceKeysInjector
*
* @author Sven Zethelius
*/
public class HttpTraceKeysInjectorUnitTests {
TraceKeys traceKeys = new TraceKeys();
private TraceKeys traceKeys = new TraceKeys();
private SpanNamer spanNamer = new DefaultSpanNamer();
private SpanLogger spanLogger = new Slf4jSpanLogger("skip");
private SpanReporter spanReporter = new NoOpSpanReporter();
AlwaysSampler sampler = new AlwaysSampler();
Tracer tracer = new DefaultTracer(sampler, new Random(), spanNamer, spanLogger, spanReporter, traceKeys);
HttpTraceKeysInjector injector;
@Before
public void setup() {
assertNotNull(tracer);
injector = new HttpTraceKeysInjector(tracer, traceKeys);
}
private AlwaysSampler sampler = new AlwaysSampler();
private Tracer tracer = new DefaultTracer(sampler, new Random(), spanNamer, spanLogger, spanReporter, traceKeys);
private HttpTraceKeysInjector injector = new HttpTraceKeysInjector(tracer, traceKeys);
/**
* Test that the correct tag values are set based on Http Headers
*
* @throws Exception
*/
@Test
public void testHttpAttributes() throws Exception {
traceKeys.getHttp().setHeaders(Arrays.asList("Accept", "User-Agent", "Content-Type"));;
public void testHttpHeadersToTags() throws Exception {
// Given
Span span = tracer.createSpan("TestSpan", sampler);
URL url = new URL("http://localhost:8080/");
HttpHeaders headers = new HttpHeaders();
headers.add("User-Agent", "Test");
headers.put("Accept", Arrays.asList(MediaType.TEXT_PLAIN_VALUE, MediaType.TEXT_XML_VALUE));
headers.add("Content-Length", "0");
headers.add("X-B3-TraceId","3bb9a1fa9e70fdbd763261a53162f330");
headers.add("X-B3-SpanId", "763261a53162f330");
headers.add("X-B3-Sampled","1");
headers.add("X-Span-Name", "http:/");
Span span = tracer.createSpan("TestSpan", sampler);
injector.addRequestTags(url.toString(), url.getHost(), url.getPath(), HttpMethod.GET.name(), headers );
Map<String, String> tags = span.tags();
assertEquals("Test", tags.get("http.user-agent"));
assertEquals("'text/plain','text/xml'", tags.get("http.accept"));
assertNull(tags.get("http.content-type"));
headers.add(Span.TRACE_ID_NAME,"3bb9a1fa9e70fdbd763261a53162f330");
headers.add(Span.SPAN_ID_NAME, "763261a53162f330");
headers.add(Span.SAMPLED_NAME,"1");
headers.add(Span.SPAN_NAME_NAME, "http:/");
traceKeys.getHttp().setHeaders(Arrays.asList("Accept", "User-Agent", "Content-Type"));;
// when
injector.addRequestTags(url.toString(), url.getHost(), url.getPath(), HttpMethod.GET.name(), headers );
// verify
then(span.tags())
.containsEntry("http.user-agent", "Test")
.containsEntry("http.accept", "'text/plain','text/xml'")
.doesNotContainKey("http.content-type");
}
}