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.
This commit is contained in:
Nikolay Martynov 2018-11-20 16:39:37 -05:00
parent f1fce3dae2
commit a70da1d995
2 changed files with 26 additions and 57 deletions

View File

@ -2,6 +2,7 @@ import datadog.trace.agent.test.AgentTestRunner
import datadog.trace.agent.test.TestUtils import datadog.trace.agent.test.TestUtils
import datadog.trace.agent.test.utils.OkHttpUtils import datadog.trace.agent.test.utils.OkHttpUtils
import datadog.trace.api.DDSpanTypes import datadog.trace.api.DDSpanTypes
import datadog.trace.api.DDTags
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import org.eclipse.jetty.continuation.Continuation import org.eclipse.jetty.continuation.Continuation
import org.eclipse.jetty.continuation.ContinuationSupport import org.eclipse.jetty.continuation.ContinuationSupport
@ -72,7 +73,7 @@ class JettyHandlerTest extends AgentTestRunner {
"span.kind" "server" "span.kind" "server"
"component" "jetty-handler" "component" "jetty-handler"
"span.origin.type" handler.class.name "span.origin.type" handler.class.name
"span.type" DDSpanTypes.HTTP_SERVER "$DDTags.SPAN_TYPE" DDSpanTypes.HTTP_SERVER
"http.status_code" 200 "http.status_code" 200
defaultTags() defaultTags()
} }

View File

@ -1,12 +1,11 @@
import datadog.trace.agent.test.AgentTestRunner import datadog.trace.agent.test.AgentTestRunner
import datadog.trace.agent.test.TestUtils import datadog.trace.agent.test.TestUtils
import datadog.trace.agent.test.utils.OkHttpUtils import datadog.trace.agent.test.utils.OkHttpUtils
import datadog.trace.api.Config
import datadog.trace.api.DDSpanTypes import datadog.trace.api.DDSpanTypes
import datadog.trace.api.DDTags
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Request import okhttp3.Request
import spark.Spark import spark.Spark
import spark.embeddedserver.jetty.JettyHandler
import spock.lang.Shared import spock.lang.Shared
class SparkJavaBasedTest extends AgentTestRunner { class SparkJavaBasedTest extends AgentTestRunner {
@ -30,37 +29,6 @@ class SparkJavaBasedTest extends AgentTestRunner {
Spark.stop() 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"() { def "generates spans"() {
setup: setup:
def request = new Request.Builder() def request = new Request.Builder()
@ -70,31 +38,31 @@ class SparkJavaBasedTest extends AgentTestRunner {
def response = client.newCall(request).execute() def response = client.newCall(request).execute()
expect: expect:
port != 0
response.body().string() == "Hello asdf1234" response.body().string() == "Hello asdf1234"
TEST_WRITER.waitForTraces(1)
TEST_WRITER.size() == 1
def trace = TEST_WRITER.firstTrace() assertTraces(1) {
trace.size() == 1 trace(0, 1) {
def context = trace[0].context() span(0) {
context.serviceName == "unnamed-java-app" serviceName "unnamed-java-app"
context.operationName == "jetty.request" operationName "jetty.request"
context.resourceName == "GET /param/:param" resourceName "GET /param/:param"
context.spanType == DDSpanTypes.HTTP_SERVER spanType DDSpanTypes.HTTP_SERVER
!context.getErrorFlag() errored false
context.parentId == "0" parent()
def tags = context.tags tags {
tags["http.url"] == "http://localhost:$port/param/asdf1234" "http.url" "http://localhost:$port/param/asdf1234"
tags["http.method"] == "GET" "http.method" "GET"
tags["span.kind"] == "server" "span.kind" "server"
tags["span.type"] == DDSpanTypes.HTTP_SERVER "component" "jetty-handler"
tags["component"] == "jetty-handler" "span.origin.type" spark.embeddedserver.jetty.JettyHandler.name
tags["http.status_code"] == 200 "$DDTags.SPAN_TYPE" DDSpanTypes.HTTP_SERVER
tags["thread.name"] != null "http.status_code" 200
tags["thread.id"] != null defaultTags()
tags[Config.RUNTIME_ID_TAG] == Config.get().runtimeId }
tags["span.origin.type"] == JettyHandler.name }
tags.size() == 10 }
}
} }
} }