Fix tests.
This commit is contained in:
parent
46878d24d3
commit
dc814aeb6d
|
@ -64,7 +64,7 @@ class ApacheHttpClientTest extends Specification {
|
|||
final DDSpan localSpan = clientTrace.get(1)
|
||||
localSpan.getType() == null
|
||||
localSpan.getTags()[Tags.COMPONENT.getKey()] == "apache-httpclient"
|
||||
localSpan.getOperationName() == "http.request"
|
||||
localSpan.getOperationName() == "apache.http"
|
||||
|
||||
final DDSpan clientSpan = clientTrace.get(2)
|
||||
clientSpan.getOperationName() == "http.request"
|
||||
|
@ -109,7 +109,7 @@ class ApacheHttpClientTest extends Specification {
|
|||
// our instrumentation makes 2 spans for apache-httpclient
|
||||
final DDSpan localSpan = clientTrace.get(1)
|
||||
localSpan.getTags()[Tags.COMPONENT.getKey()] == "apache-httpclient"
|
||||
localSpan.getOperationName() == "http.request"
|
||||
localSpan.getOperationName() == "apache.http"
|
||||
|
||||
final DDSpan clientSpan = clientTrace.get(2)
|
||||
clientSpan.getOperationName() == "http.request"
|
||||
|
|
|
@ -100,9 +100,9 @@ class AWSClientTest extends AgentTestRunner {
|
|||
and: // span 0 - from apache-httpclient instrumentation
|
||||
def span1 = trace[0]
|
||||
|
||||
span1.context().operationName == "http.request"
|
||||
span1.context().operationName == "apache.http"
|
||||
span1.serviceName == "unnamed-java-app"
|
||||
span1.resourceName == "http.request"
|
||||
span1.resourceName == "apache.http"
|
||||
span1.type == null
|
||||
!span1.context().getErrorFlag()
|
||||
span1.context().parentId == 0
|
||||
|
|
|
@ -58,7 +58,7 @@ class JaxRsClientTest extends AgentTestRunner {
|
|||
|
||||
span.context().operationName == "jax-rs.client.call"
|
||||
span.serviceName == "unnamed-java-app"
|
||||
span.resourceName == "GET jax-rs.client.call"
|
||||
span.resourceName == "GET /ping"
|
||||
span.type == "http"
|
||||
!span.context().getErrorFlag()
|
||||
span.context().parentId == 0
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import datadog.trace.agent.test.AgentTestRunner
|
||||
import datadog.trace.api.DDSpanTypes
|
||||
import datadog.trace.api.DDTags
|
||||
import io.opentracing.tag.Tags
|
||||
import okhttp3.OkHttpClient
|
||||
|
@ -39,19 +40,20 @@ class OkHttp3Test extends AgentTestRunner {
|
|||
and: // span 0
|
||||
def span1 = trace[0]
|
||||
|
||||
span1.context().operationName == "http.request"
|
||||
span1.serviceName == "unnamed-java-app"
|
||||
span1.resourceName == "http.request"
|
||||
span1.type == null
|
||||
span1.context().operationName == "okhttp.http"
|
||||
span1.serviceName == "okhttp"
|
||||
span1.resourceName == "okhttp.http"
|
||||
span1.type == DDSpanTypes.WEB_SERVLET
|
||||
!span1.context().getErrorFlag()
|
||||
span1.context().parentId == 0
|
||||
|
||||
|
||||
def tags1 = span1.context().tags
|
||||
tags1["component"] == "okhttp"
|
||||
tags1["span.type"] == DDSpanTypes.WEB_SERVLET
|
||||
tags1["thread.name"] != null
|
||||
tags1["thread.id"] != null
|
||||
tags1.size() == 3
|
||||
tags1.size() == 4
|
||||
|
||||
and: // span 1
|
||||
def span2 = trace[1]
|
||||
|
|
|
@ -106,6 +106,7 @@ class JettyServlet2Test extends AgentTestRunner {
|
|||
"span.kind" "server"
|
||||
"component" "java-web-servlet"
|
||||
"span.type" DDSpanTypes.WEB_SERVLET
|
||||
"servlet.context" ""
|
||||
defaultTags()
|
||||
}
|
||||
}
|
||||
|
@ -143,6 +144,7 @@ class JettyServlet2Test extends AgentTestRunner {
|
|||
"span.kind" "server"
|
||||
"component" "java-web-servlet"
|
||||
"span.type" DDSpanTypes.WEB_SERVLET
|
||||
"servlet.context" ""
|
||||
errorTags(RuntimeException, "some $path error")
|
||||
defaultTags()
|
||||
}
|
||||
|
@ -182,6 +184,7 @@ class JettyServlet2Test extends AgentTestRunner {
|
|||
"span.kind" "server"
|
||||
"component" "java-web-servlet"
|
||||
"span.type" DDSpanTypes.WEB_SERVLET
|
||||
"servlet.context" ""
|
||||
defaultTags()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -108,6 +108,7 @@ class JettyServlet3Test extends AgentTestRunner {
|
|||
"span.kind" "server"
|
||||
"component" "java-web-servlet"
|
||||
"span.type" DDSpanTypes.WEB_SERVLET
|
||||
"servlet.context" ""
|
||||
"http.status_code" 200
|
||||
defaultTags()
|
||||
}
|
||||
|
@ -147,6 +148,7 @@ class JettyServlet3Test extends AgentTestRunner {
|
|||
"span.kind" "server"
|
||||
"component" "java-web-servlet"
|
||||
"span.type" DDSpanTypes.WEB_SERVLET
|
||||
"servlet.context" ""
|
||||
"http.status_code" 500
|
||||
errorTags(RuntimeException, "some $path error")
|
||||
defaultTags()
|
||||
|
@ -187,6 +189,7 @@ class JettyServlet3Test extends AgentTestRunner {
|
|||
"span.kind" "server"
|
||||
"component" "java-web-servlet"
|
||||
"span.type" DDSpanTypes.WEB_SERVLET
|
||||
"servlet.context" ""
|
||||
"http.status_code" 500
|
||||
"error" true
|
||||
defaultTags()
|
||||
|
|
|
@ -49,10 +49,11 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span.context().tags["span.kind"] == "server"
|
||||
span.context().tags["span.type"] == "web"
|
||||
span.context().tags["component"] == "java-web-servlet"
|
||||
span.context().tags["servlet.context"] == ""
|
||||
span.context().tags["http.status_code"] == 200
|
||||
span.context().tags["thread.name"] != null
|
||||
span.context().tags["thread.id"] != null
|
||||
span.context().tags.size() == 8
|
||||
span.context().tags.size() == 9
|
||||
}
|
||||
|
||||
def "generates 404 spans"() {
|
||||
|
@ -78,10 +79,11 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span0.context().tags["span.kind"] == "server"
|
||||
span0.context().tags["span.type"] == "web"
|
||||
span0.context().tags["component"] == "java-web-servlet"
|
||||
span0.context().tags["servlet.context"] == ""
|
||||
span0.context().tags["http.status_code"] == 404
|
||||
span0.context().tags["thread.name"] != null
|
||||
span0.context().tags["thread.id"] != null
|
||||
span0.context().tags.size() == 8
|
||||
span0.context().tags.size() == 9
|
||||
|
||||
and: // trace 1
|
||||
def trace1 = TEST_WRITER.get(1)
|
||||
|
@ -98,10 +100,11 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span1.context().tags["span.kind"] == "server"
|
||||
span1.context().tags["span.type"] == "web"
|
||||
span1.context().tags["component"] == "java-web-servlet"
|
||||
span1.context().tags["servlet.context"] == ""
|
||||
span1.context().tags["http.status_code"] == 404
|
||||
span1.context().tags["thread.name"] != null
|
||||
span1.context().tags["thread.id"] != null
|
||||
span1.context().tags.size() == 8
|
||||
span1.context().tags.size() == 9
|
||||
}
|
||||
|
||||
def "generates error spans"() {
|
||||
|
@ -129,6 +132,7 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span0.context().tags["span.kind"] == "server"
|
||||
span0.context().tags["span.type"] == "web"
|
||||
span0.context().tags["component"] == "java-web-servlet"
|
||||
span0.context().tags["servlet.context"] == ""
|
||||
span0.context().tags["http.status_code"] == 500
|
||||
span0.context().tags["thread.name"] != null
|
||||
span0.context().tags["thread.id"] != null
|
||||
|
@ -136,7 +140,7 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span0.context().tags["error.msg"] == "Request processing failed; nested exception is java.lang.RuntimeException: qwerty"
|
||||
span0.context().tags["error.type"] == NestedServletException.getName()
|
||||
span0.context().tags["error.stack"] != null
|
||||
span0.context().tags.size() == 12
|
||||
span0.context().tags.size() == 13
|
||||
|
||||
and: // trace 1
|
||||
def trace1 = TEST_WRITER.get(1)
|
||||
|
@ -152,11 +156,12 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span1.context().tags["span.kind"] == "server"
|
||||
span1.context().tags["span.type"] == "web"
|
||||
span1.context().tags["component"] == "java-web-servlet"
|
||||
span1.context().tags["servlet.context"] == ""
|
||||
span1.context().tags["http.status_code"] == 500
|
||||
span1.context().getErrorFlag()
|
||||
span1.context().tags["thread.name"] != null
|
||||
span1.context().tags["thread.id"] != null
|
||||
span1.context().tags.size() == 9
|
||||
span1.context().tags.size() == 10
|
||||
}
|
||||
|
||||
def "validated form"() {
|
||||
|
@ -179,10 +184,11 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span.context().tags["span.kind"] == "server"
|
||||
span.context().tags["span.type"] == "web"
|
||||
span.context().tags["component"] == "java-web-servlet"
|
||||
span.context().tags["servlet.context"] == ""
|
||||
span.context().tags["http.status_code"] == 200
|
||||
span.context().tags["thread.name"] != null
|
||||
span.context().tags["thread.id"] != null
|
||||
span.context().tags.size() == 8
|
||||
span.context().tags.size() == 9
|
||||
}
|
||||
|
||||
def "invalid form"() {
|
||||
|
@ -210,6 +216,7 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span0.context().tags["span.kind"] == "server"
|
||||
span0.context().tags["span.type"] == "web"
|
||||
span0.context().tags["component"] == "java-web-servlet"
|
||||
span0.context().tags["servlet.context"] == ""
|
||||
span0.context().tags["http.status_code"] == 400
|
||||
span0.context().tags["thread.name"] != null
|
||||
span0.context().tags["thread.id"] != null
|
||||
|
@ -217,7 +224,7 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span0.context().tags["error.msg"].toString().startsWith("Validation failed")
|
||||
span0.context().tags["error.type"] == MethodArgumentNotValidException.getName()
|
||||
span0.context().tags["error.stack"] != null
|
||||
span0.context().tags.size() == 12
|
||||
span0.context().tags.size() == 13
|
||||
|
||||
and: // trace 1
|
||||
def trace1 = TEST_WRITER.get(1)
|
||||
|
@ -234,9 +241,10 @@ class SpringBootBasedTest extends AgentTestRunner {
|
|||
span1.context().tags["span.kind"] == "server"
|
||||
span1.context().tags["span.type"] == "web"
|
||||
span1.context().tags["component"] == "java-web-servlet"
|
||||
span1.context().tags["servlet.context"] == ""
|
||||
span1.context().tags["http.status_code"] == 400
|
||||
span1.context().tags["thread.name"] != null
|
||||
span1.context().tags["thread.id"] != null
|
||||
span1.context().tags.size() == 8
|
||||
span1.context().tags.size() == 9
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,10 +4,10 @@ import datadog.opentracing.DDSpan
|
|||
|
||||
class TagsAssert {
|
||||
private final Map<String, Object> tags
|
||||
private final Set<String> assertedTags = new HashSet<>()
|
||||
private final Set<String> assertedTags = new TreeSet<>()
|
||||
|
||||
private TagsAssert(DDSpan span) {
|
||||
this.tags = span.tags
|
||||
this.tags = new TreeMap(span.tags)
|
||||
}
|
||||
|
||||
static TagsAssert assertTags(DDSpan span,
|
||||
|
|
|
@ -27,7 +27,6 @@ import java.util.Collection;
|
|||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
@ -517,12 +516,9 @@ public class DDTracer implements io.opentracing.Tracer {
|
|||
DDTracer.this);
|
||||
|
||||
// Apply Decorators to handle any tags that may have been set via the builder.
|
||||
for (final Iterator<Map.Entry<String, Object>> it = this.tags.entrySet().iterator();
|
||||
it.hasNext();
|
||||
) {
|
||||
final Map.Entry<String, Object> tag = it.next();
|
||||
for (final Map.Entry<String, Object> tag : this.tags.entrySet()) {
|
||||
if (tag.getValue() == null) {
|
||||
it.remove();
|
||||
context.setTag(tag.getKey(), null);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -545,7 +541,7 @@ public class DDTracer implements io.opentracing.Tracer {
|
|||
}
|
||||
|
||||
if (!addTag) {
|
||||
it.remove();
|
||||
context.setTag(tag.getKey(), null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue