From a70da1d9955a72b48c4548aa5e4131df81d75a78 Mon Sep 17 00:00:00 2001 From: Nikolay Martynov Date: Tue, 20 Nov 2018 16:39:37 -0500 Subject: [PATCH] Remove redundant tests from SparkJava Tests that create traces and do not assert on them may leave traces behind for the next test causing errors. --- .../src/test/groovy/JettyHandlerTest.groovy | 3 +- .../src/test/groovy/SparkJavaBasedTest.groovy | 80 ++++++------------- 2 files changed, 26 insertions(+), 57 deletions(-) diff --git a/dd-java-agent/instrumentation/jetty-8/src/test/groovy/JettyHandlerTest.groovy b/dd-java-agent/instrumentation/jetty-8/src/test/groovy/JettyHandlerTest.groovy index cb6b44d601..f2244d7eb3 100644 --- a/dd-java-agent/instrumentation/jetty-8/src/test/groovy/JettyHandlerTest.groovy +++ b/dd-java-agent/instrumentation/jetty-8/src/test/groovy/JettyHandlerTest.groovy @@ -2,6 +2,7 @@ import datadog.trace.agent.test.AgentTestRunner import datadog.trace.agent.test.TestUtils import datadog.trace.agent.test.utils.OkHttpUtils import datadog.trace.api.DDSpanTypes +import datadog.trace.api.DDTags import okhttp3.OkHttpClient import org.eclipse.jetty.continuation.Continuation import org.eclipse.jetty.continuation.ContinuationSupport @@ -72,7 +73,7 @@ class JettyHandlerTest extends AgentTestRunner { "span.kind" "server" "component" "jetty-handler" "span.origin.type" handler.class.name - "span.type" DDSpanTypes.HTTP_SERVER + "$DDTags.SPAN_TYPE" DDSpanTypes.HTTP_SERVER "http.status_code" 200 defaultTags() } diff --git a/dd-java-agent/instrumentation/sparkjava-2.3/src/test/groovy/SparkJavaBasedTest.groovy b/dd-java-agent/instrumentation/sparkjava-2.3/src/test/groovy/SparkJavaBasedTest.groovy index 12165ec47d..5b99c1dd55 100644 --- a/dd-java-agent/instrumentation/sparkjava-2.3/src/test/groovy/SparkJavaBasedTest.groovy +++ b/dd-java-agent/instrumentation/sparkjava-2.3/src/test/groovy/SparkJavaBasedTest.groovy @@ -1,12 +1,11 @@ import datadog.trace.agent.test.AgentTestRunner import datadog.trace.agent.test.TestUtils import datadog.trace.agent.test.utils.OkHttpUtils -import datadog.trace.api.Config import datadog.trace.api.DDSpanTypes +import datadog.trace.api.DDTags import okhttp3.OkHttpClient import okhttp3.Request import spark.Spark -import spark.embeddedserver.jetty.JettyHandler import spock.lang.Shared class SparkJavaBasedTest extends AgentTestRunner { @@ -30,37 +29,6 @@ class SparkJavaBasedTest extends AgentTestRunner { Spark.stop() } - def "valid response"() { - setup: - def request = new Request.Builder() - .url("http://localhost:$port/") - .get() - .build() - def response = client.newCall(request).execute() - - expect: - port != 0 - response.body().string() == "Hello World" - } - - def "valid response with registered trace"() { - setup: - def request = new Request.Builder() - .url("http://localhost:$port/") - .get() - .build() - def response = client.newCall(request).execute() - - expect: - port != 0 - response.body().string() == "Hello World" - - and: - TEST_WRITER.waitForTraces(1) - TEST_WRITER.size() == 1 - } - - def "generates spans"() { setup: def request = new Request.Builder() @@ -70,31 +38,31 @@ class SparkJavaBasedTest extends AgentTestRunner { def response = client.newCall(request).execute() expect: + port != 0 response.body().string() == "Hello asdf1234" - TEST_WRITER.waitForTraces(1) - TEST_WRITER.size() == 1 - def trace = TEST_WRITER.firstTrace() - trace.size() == 1 - def context = trace[0].context() - context.serviceName == "unnamed-java-app" - context.operationName == "jetty.request" - context.resourceName == "GET /param/:param" - context.spanType == DDSpanTypes.HTTP_SERVER - !context.getErrorFlag() - context.parentId == "0" - def tags = context.tags - tags["http.url"] == "http://localhost:$port/param/asdf1234" - tags["http.method"] == "GET" - tags["span.kind"] == "server" - tags["span.type"] == DDSpanTypes.HTTP_SERVER - tags["component"] == "jetty-handler" - tags["http.status_code"] == 200 - tags["thread.name"] != null - tags["thread.id"] != null - tags[Config.RUNTIME_ID_TAG] == Config.get().runtimeId - tags["span.origin.type"] == JettyHandler.name - tags.size() == 10 + assertTraces(1) { + trace(0, 1) { + span(0) { + serviceName "unnamed-java-app" + operationName "jetty.request" + resourceName "GET /param/:param" + spanType DDSpanTypes.HTTP_SERVER + errored false + parent() + tags { + "http.url" "http://localhost:$port/param/asdf1234" + "http.method" "GET" + "span.kind" "server" + "component" "jetty-handler" + "span.origin.type" spark.embeddedserver.jetty.JettyHandler.name + "$DDTags.SPAN_TYPE" DDSpanTypes.HTTP_SERVER + "http.status_code" 200 + defaultTags() + } + } + } + } } }