Move random port generation to actual usage in tests using listening ports

This commit is contained in:
Nikolay Martynov 2018-07-20 11:51:22 -04:00
parent c3825d9d52
commit f1466304e8
13 changed files with 349 additions and 265 deletions

View File

@ -11,6 +11,7 @@ import okhttp3.Response
import org.apache.catalina.Context
import org.apache.catalina.startup.Tomcat
import org.apache.jasper.JasperException
import spock.lang.Shared
import spock.lang.Unroll
import static datadog.trace.agent.test.ListWriterAssert.assertTraces
@ -27,7 +28,22 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
System.setProperty("org.apache.catalina.startup.TldConfig.jarsToSkip", "*")
}
static final int PORT = TestUtils.randomOpenPort()
@Shared
int port
@Shared
Tomcat tomcatServer
@Shared
Context appContext
@Shared
String jspWebappContext = "jsptest-context"
@Shared
File baseDir
@Shared
String baseUrl
@Shared
String expectedJspClassFilesDir = "/work/Tomcat/localhost/$jspWebappContext/org/apache/jsp/"
OkHttpClient client = new OkHttpClient.Builder()
// Uncomment when debugging:
// .connectTimeout(1, TimeUnit.HOURS)
@ -35,32 +51,25 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
// .readTimeout(1, TimeUnit.HOURS)
.build()
static Tomcat tomcatServer
static Context appContext
static final String JSP_WEBAPP_CONTEXT = "jsptest-context"
static File baseDir
static String baseUrl
static String expectedJspClassFilesDir = "/work/Tomcat/localhost/$JSP_WEBAPP_CONTEXT/org/apache/jsp/"
def setupSpec() {
port = TestUtils.randomOpenPort()
tomcatServer = new Tomcat()
tomcatServer.setPort(PORT)
tomcatServer.setPort(port)
// comment to debug
tomcatServer.setSilent(true)
baseDir = Files.createTempDir()
baseDir.deleteOnExit()
expectedJspClassFilesDir = baseDir.getCanonicalFile().getAbsolutePath() + expectedJspClassFilesDir
baseUrl = "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT"
baseUrl = "http://localhost:$port/$jspWebappContext"
tomcatServer.setBaseDir(baseDir.getAbsolutePath())
appContext = tomcatServer.addWebapp("/$JSP_WEBAPP_CONTEXT",
appContext = tomcatServer.addWebapp("/$jspWebappContext",
JSPInstrumentationBasicTests.getResource("/webapps/jsptest").getPath())
tomcatServer.start()
System.out.println(
"Tomcat server: http://" + tomcatServer.getHost().getName() + ":" + PORT + "/")
"Tomcat server: http://" + tomcatServer.getHost().getName() + ":" + port + "/")
}
def cleanupSpec() {
@ -82,25 +91,25 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
trace(0, 3) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/$jspFileName"
resourceName "GET /$jspWebappContext/$jspFileName"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/$jspFileName"
"http.url" "http://localhost:$port/$jspWebappContext/$jspFileName"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 200
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/$jspFileName"
spanType DDSpanTypes.WEB_SERVLET
@ -109,14 +118,14 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/$jspFileName"
spanType DDSpanTypes.WEB_SERVLET
@ -125,7 +134,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.$jspClassNamePrefix$jspClassName"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -159,25 +168,25 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
trace(0, 3) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/getQuery.jsp"
resourceName "GET /$jspWebappContext/getQuery.jsp"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/getQuery.jsp"
"http.url" "http://localhost:$port/$jspWebappContext/getQuery.jsp"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 200
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/getQuery.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -186,14 +195,14 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/getQuery.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -202,7 +211,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.getQuery_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -233,25 +242,25 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
trace(0, 3) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "POST /$JSP_WEBAPP_CONTEXT/post.jsp"
resourceName "POST /$jspWebappContext/post.jsp"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/post.jsp"
"http.url" "http://localhost:$port/$jspWebappContext/post.jsp"
"http.method" "POST"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 200
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/post.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -260,14 +269,14 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/post.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -276,7 +285,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.post_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -304,18 +313,18 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
trace(0, 3) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/$jspFileName"
resourceName "GET /$jspWebappContext/$jspFileName"
spanType DDSpanTypes.WEB_SERVLET
errored true
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/$jspFileName"
"http.url" "http://localhost:$port/$jspWebappContext/$jspFileName"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 500
errorTags(JasperException, String)
defaultTags()
@ -323,7 +332,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/$jspFileName"
spanType DDSpanTypes.WEB_SERVLET
@ -332,7 +341,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
errorTags(exceptionClass, errorMessage)
defaultTags()
@ -340,7 +349,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
}
span(2) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/$jspFileName"
spanType DDSpanTypes.WEB_SERVLET
@ -349,7 +358,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.$jspClassName"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -382,25 +391,25 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
trace(0, 3) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/includes/includeHtml.jsp"
resourceName "GET /$jspWebappContext/includes/includeHtml.jsp"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/includes/includeHtml.jsp"
"http.url" "http://localhost:$port/$jspWebappContext/includes/includeHtml.jsp"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 200
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/includes/includeHtml.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -409,14 +418,14 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/includes/includeHtml.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -425,7 +434,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.includes.includeHtml_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -452,25 +461,25 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
trace(0, 7) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/includes/includeMulti.jsp"
resourceName "GET /$jspWebappContext/includes/includeMulti.jsp"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/includes/includeMulti.jsp"
"http.url" "http://localhost:$port/$jspWebappContext/includes/includeMulti.jsp"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 200
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/includes/includeMulti.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -479,14 +488,14 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/common/javaLoopH2.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -495,14 +504,14 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(3) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/common/javaLoopH2.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -511,7 +520,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.common.javaLoopH2_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -519,7 +528,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
}
span(4) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/common/javaLoopH2.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -528,14 +537,14 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(5) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/common/javaLoopH2.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -544,7 +553,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.common.javaLoopH2_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -552,7 +561,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
}
span(6) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/includes/includeMulti.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -561,7 +570,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.includes.includeMulti_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -588,18 +597,18 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
trace(0, 2) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/$jspFileName"
resourceName "GET /$jspWebappContext/$jspFileName"
spanType DDSpanTypes.WEB_SERVLET
errored true
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/$jspFileName"
"http.url" "http://localhost:$port/$jspWebappContext/$jspFileName"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 500
errorTags(JasperException, String)
defaultTags()
@ -607,7 +616,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/$jspFileName"
spanType DDSpanTypes.WEB_SERVLET
@ -616,7 +625,7 @@ class JSPInstrumentationBasicTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.$jspClassNamePrefix$jspClassName"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
"jsp.javaFile" expectedJspClassFilesDir + jspClassNamePrefix.replace('.', '/') + jspClassName + ".java"

View File

@ -7,6 +7,7 @@ import okhttp3.*
import org.apache.catalina.Context
import org.apache.catalina.startup.Tomcat
import org.apache.jasper.JasperException
import spock.lang.Shared
import spock.lang.Unroll
import static datadog.trace.agent.test.ListWriterAssert.assertTraces
@ -23,7 +24,22 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
System.setProperty("org.apache.catalina.startup.TldConfig.jarsToSkip", "*")
}
static final int PORT = TestUtils.randomOpenPort()
@Shared
int port
@Shared
Tomcat tomcatServer
@Shared
Context appContext
@Shared
String jspWebappContext = "jsptest-context"
@Shared
File baseDir
@Shared
String baseUrl
@Shared
String expectedJspClassFilesDir = "/work/Tomcat/localhost/$jspWebappContext/org/apache/jsp/"
OkHttpClient client = new OkHttpClient.Builder()
// Uncomment when debugging:
// .connectTimeout(1, TimeUnit.HOURS)
@ -31,32 +47,25 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
// .readTimeout(1, TimeUnit.HOURS)
.build()
static Tomcat tomcatServer
static Context appContext
static final String JSP_WEBAPP_CONTEXT = "jsptest-context"
static File baseDir
static String baseUrl
static String expectedJspClassFilesDir = "/work/Tomcat/localhost/$JSP_WEBAPP_CONTEXT/org/apache/jsp/"
def setupSpec() {
port = TestUtils.randomOpenPort()
tomcatServer = new Tomcat()
tomcatServer.setPort(PORT)
tomcatServer.setPort(port)
// comment to debug
tomcatServer.setSilent(true)
baseDir = Files.createTempDir()
baseDir.deleteOnExit()
expectedJspClassFilesDir = baseDir.getCanonicalFile().getAbsolutePath() + expectedJspClassFilesDir
baseUrl = "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT"
baseUrl = "http://localhost:$port/$jspWebappContext"
tomcatServer.setBaseDir(baseDir.getAbsolutePath())
appContext = tomcatServer.addWebapp("/$JSP_WEBAPP_CONTEXT",
appContext = tomcatServer.addWebapp("/$jspWebappContext",
JSPInstrumentationForwardTests.getResource("/webapps/jsptest").getPath())
tomcatServer.start()
System.out.println(
"Tomcat server: http://" + tomcatServer.getHost().getName() + ":" + PORT + "/")
"Tomcat server: http://" + tomcatServer.getHost().getName() + ":" + port + "/")
}
def cleanupSpec() {
@ -78,25 +87,25 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
trace(0, 5) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/$forwardFromFileName"
resourceName "GET /$jspWebappContext/$forwardFromFileName"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/$forwardFromFileName"
"http.url" "http://localhost:$port/$jspWebappContext/$forwardFromFileName"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 200
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/$forwardFromFileName"
spanType DDSpanTypes.WEB_SERVLET
@ -105,14 +114,14 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/$forwardDestFileName"
spanType DDSpanTypes.WEB_SERVLET
@ -121,7 +130,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.forwardOrigin" "/$forwardFromFileName"
"jsp.requestURL" baseUrl + "/$forwardDestFileName"
defaultTags()
@ -129,7 +138,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(3) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/$forwardDestFileName"
spanType DDSpanTypes.WEB_SERVLET
@ -138,7 +147,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.$jspForwardDestClassPrefix$jspForwardDestClassName"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -146,7 +155,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(4) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/$forwardFromFileName"
spanType DDSpanTypes.WEB_SERVLET
@ -155,7 +164,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.$jspForwardFromClassPrefix$jspForwardFromClassName"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -187,25 +196,25 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
trace(0, 3) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/forwards/forwardToHtml.jsp"
resourceName "GET /$jspWebappContext/forwards/forwardToHtml.jsp"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/forwards/forwardToHtml.jsp"
"http.url" "http://localhost:$port/$jspWebappContext/forwards/forwardToHtml.jsp"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 200
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/forwards/forwardToHtml.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -214,14 +223,14 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/forwards/forwardToHtml.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -230,7 +239,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.forwards.forwardToHtml_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -257,25 +266,25 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
trace(0, 9) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/forwards/forwardToIncludeMulti.jsp"
resourceName "GET /$jspWebappContext/forwards/forwardToIncludeMulti.jsp"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/forwards/forwardToIncludeMulti.jsp"
"http.url" "http://localhost:$port/$jspWebappContext/forwards/forwardToIncludeMulti.jsp"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 200
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/forwards/forwardToIncludeMulti.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -284,14 +293,14 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/includes/includeMulti.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -300,7 +309,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.forwardOrigin" "/forwards/forwardToIncludeMulti.jsp"
"jsp.requestURL" baseUrl + "/includes/includeMulti.jsp"
defaultTags()
@ -308,7 +317,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(3) {
childOf span(2)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/common/javaLoopH2.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -317,7 +326,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.forwardOrigin" "/forwards/forwardToIncludeMulti.jsp"
"jsp.requestURL" baseUrl + "/includes/includeMulti.jsp"
defaultTags()
@ -325,7 +334,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(4) {
childOf span(2)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/common/javaLoopH2.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -334,7 +343,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.common.javaLoopH2_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -342,7 +351,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(5) {
childOf span(2)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/common/javaLoopH2.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -351,7 +360,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.forwardOrigin" "/forwards/forwardToIncludeMulti.jsp"
"jsp.requestURL" baseUrl + "/includes/includeMulti.jsp"
defaultTags()
@ -359,7 +368,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(6) {
childOf span(2)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/common/javaLoopH2.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -368,7 +377,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.common.javaLoopH2_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -376,7 +385,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(7) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/includes/includeMulti.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -385,7 +394,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.includes.includeMulti_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -393,7 +402,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(8) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/forwards/forwardToIncludeMulti.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -402,7 +411,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.forwards.forwardToIncludeMulti_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -429,25 +438,25 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
trace(0, 7) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/forwards/forwardToJspForward.jsp"
resourceName "GET /$jspWebappContext/forwards/forwardToJspForward.jsp"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/forwards/forwardToJspForward.jsp"
"http.url" "http://localhost:$port/$jspWebappContext/forwards/forwardToJspForward.jsp"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 200
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/forwards/forwardToJspForward.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -456,14 +465,14 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/forwards/forwardToSimpleJava.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -472,7 +481,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.forwardOrigin" "/forwards/forwardToJspForward.jsp"
"jsp.requestURL" baseUrl + "/forwards/forwardToSimpleJava.jsp"
defaultTags()
@ -480,7 +489,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(3) {
childOf span(2)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/common/loop.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -489,7 +498,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.forwardOrigin" "/forwards/forwardToJspForward.jsp"
"jsp.requestURL" baseUrl + "/common/loop.jsp"
defaultTags()
@ -497,7 +506,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(4) {
childOf span(2)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/common/loop.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -506,7 +515,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.common.loop_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -514,7 +523,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(5) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/forwards/forwardToSimpleJava.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -523,7 +532,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.forwards.forwardToSimpleJava_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -531,7 +540,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(6) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/forwards/forwardToJspForward.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -540,7 +549,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.forwards.forwardToJspForward_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -567,18 +576,18 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
trace(0, 4) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "GET /$JSP_WEBAPP_CONTEXT/forwards/forwardToCompileError.jsp"
resourceName "GET /$jspWebappContext/forwards/forwardToCompileError.jsp"
spanType DDSpanTypes.WEB_SERVLET
errored true
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/forwards/forwardToCompileError.jsp"
"http.url" "http://localhost:$port/$jspWebappContext/forwards/forwardToCompileError.jsp"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 500
errorTags(JasperException, String)
defaultTags()
@ -586,7 +595,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/forwards/forwardToCompileError.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -595,7 +604,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
errorTags(JasperException, String)
defaultTags()
@ -603,7 +612,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(2) {
childOf span(1)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/compileError.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -612,7 +621,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.compileError_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
"jsp.javaFile" expectedJspClassFilesDir + "compileError_jsp.java"
@ -623,7 +632,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
}
span(3) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/forwards/forwardToCompileError.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -632,7 +641,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.forwards.forwardToCompileError_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()
@ -659,25 +668,25 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
trace(0, 3) {
span(0) {
parent()
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "servlet.request"
resourceName "404"
spanType DDSpanTypes.WEB_SERVLET
errored false
tags {
"http.url" "http://localhost:$PORT/$JSP_WEBAPP_CONTEXT/forwards/forwardToNonExistent.jsp"
"http.url" "http://localhost:$port/$jspWebappContext/forwards/forwardToNonExistent.jsp"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"http.status_code" 404
defaultTags()
}
}
span(1) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.render"
resourceName "/forwards/forwardToNonExistent.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -686,14 +695,14 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.requestURL" reqUrl
defaultTags()
}
}
span(2) {
childOf span(0)
serviceName JSP_WEBAPP_CONTEXT
serviceName jspWebappContext
operationName "jsp.compile"
resourceName "/forwards/forwardToNonExistent.jsp"
spanType DDSpanTypes.WEB_SERVLET
@ -702,7 +711,7 @@ class JSPInstrumentationForwardTests extends AgentTestRunner {
"span.kind" "server"
"component" "jsp-http-servlet"
"span.type" DDSpanTypes.WEB_SERVLET
"servlet.context" "/$JSP_WEBAPP_CONTEXT"
"servlet.context" "/$jspWebappContext"
"jsp.classFQCN" "org.apache.jsp.forwards.forwardToNonExistent_jsp"
"jsp.compiler" "org.apache.jasper.compiler.JDTCompiler"
defaultTags()

View File

@ -28,23 +28,25 @@ import static datadog.trace.instrumentation.lettuce.LettuceInstrumentationUtil.A
class LettuceAsyncClientTest extends AgentTestRunner {
public static final String HOST = "127.0.0.1"
public static final int PORT = TestUtils.randomOpenPort()
public static final int INCORRECT_PORT = TestUtils.randomOpenPort()
public static final int DB_INDEX = 0
public static final String DB_ADDR = HOST + ":" + PORT + "/" + DB_INDEX
public static final String DB_ADDR_NON_EXISTENT = HOST + ":" + INCORRECT_PORT + "/" + DB_INDEX
public static final String DB_URI_NON_EXISTENT = "redis://" + DB_ADDR_NON_EXISTENT
public static final String EMBEDDED_DB_URI = "redis://" + DB_ADDR
// Disable autoreconnect so we do not get stray traces popping up on server shutdown
public static final ClientOptions CLIENT_OPTIONS = ClientOptions.builder().autoReconnect(false).build()
@Shared
RedisServer redisServer = RedisServer.builder()
// bind to localhost to avoid firewall popup
.setting("bind " + HOST)
// set max memory to avoid problems in CI
.setting("maxmemory 128M")
.port(PORT).build()
int port
@Shared
int incorrectPort
@Shared
String dbAddr
@Shared
String dbAddrNonExistent
@Shared
String dbUriNonExistent
@Shared
String embeddedDbUri
@Shared
RedisServer redisServer
@Shared
Map<String, String> testHashMap = [
@ -53,12 +55,30 @@ class LettuceAsyncClientTest extends AgentTestRunner {
age: "53"
]
RedisClient redisClient = RedisClient.create(EMBEDDED_DB_URI)
RedisClient redisClient
StatefulConnection connection
RedisAsyncCommands<String, ?> asyncCommands
RedisCommands<String, ?> syncCommands
def setupSpec() {
port = TestUtils.randomOpenPort()
incorrectPort = TestUtils.randomOpenPort()
dbAddr = HOST + ":" + port + "/" + DB_INDEX
dbAddrNonExistent = HOST + ":" + incorrectPort + "/" + DB_INDEX
dbUriNonExistent = "redis://" + dbAddrNonExistent
embeddedDbUri = "redis://" + dbAddr
redisServer = RedisServer.builder()
// bind to localhost to avoid firewall popup
.setting("bind " + HOST)
// set max memory to avoid problems in CI
.setting("maxmemory 128M")
.port(port).build()
}
def setup() {
redisClient = RedisClient.create(embeddedDbUri)
println "Using redis: $redisServer.args"
redisServer.start()
redisClient.setOptions(CLIENT_OPTIONS)
@ -81,12 +101,12 @@ class LettuceAsyncClientTest extends AgentTestRunner {
def "connect using get on ConnectionFuture"() {
setup:
RedisClient testConnectionClient = RedisClient.create(EMBEDDED_DB_URI)
RedisClient testConnectionClient = RedisClient.create(embeddedDbUri)
testConnectionClient.setOptions(CLIENT_OPTIONS)
when:
ConnectionFuture connectionFuture = testConnectionClient.connectAsync(StringCodec.UTF8,
new RedisURI(HOST, PORT, 3, TimeUnit.SECONDS))
new RedisURI(HOST, port, 3, TimeUnit.SECONDS))
StatefulConnection connection = connectionFuture.get()
then:
@ -97,17 +117,17 @@ class LettuceAsyncClientTest extends AgentTestRunner {
serviceName "redis"
operationName "redis.query"
spanType "redis"
resourceName "CONNECT:" + DB_ADDR
resourceName "CONNECT:" + dbAddr
errored false
tags {
defaultTags()
"component" "redis-client"
"db.redis.url" DB_ADDR
"db.redis.url" dbAddr
"db.redis.dbIndex" 0
"db.type" "redis"
"peer.hostname" HOST
"peer.port" PORT
"peer.port" port
"span.kind" "client"
"span.type" "redis"
}
@ -121,12 +141,12 @@ class LettuceAsyncClientTest extends AgentTestRunner {
def "connect exception inside the connection future"() {
setup:
RedisClient testConnectionClient = RedisClient.create(DB_URI_NON_EXISTENT)
RedisClient testConnectionClient = RedisClient.create(dbUriNonExistent)
testConnectionClient.setOptions(CLIENT_OPTIONS)
when:
ConnectionFuture connectionFuture = testConnectionClient.connectAsync(StringCodec.UTF8,
new RedisURI(HOST, INCORRECT_PORT, 3, TimeUnit.SECONDS))
new RedisURI(HOST, incorrectPort, 3, TimeUnit.SECONDS))
StatefulConnection connection = connectionFuture.get()
then:
@ -138,18 +158,18 @@ class LettuceAsyncClientTest extends AgentTestRunner {
serviceName "redis"
operationName "redis.query"
spanType "redis"
resourceName "CONNECT:" + DB_ADDR_NON_EXISTENT
resourceName "CONNECT:" + dbAddrNonExistent
errored true
tags {
defaultTags()
"component" "redis-client"
"db.redis.url" DB_ADDR_NON_EXISTENT
"db.redis.url" dbAddrNonExistent
"db.redis.dbIndex" 0
"db.type" "redis"
errorTags CompletionException, String
"peer.hostname" HOST
"peer.port" INCORRECT_PORT
"peer.port" incorrectPort
"span.kind" "client"
"span.type" "redis"
}

View File

@ -15,27 +15,37 @@ import static datadog.trace.instrumentation.lettuce.LettuceInstrumentationUtil.A
class LettuceReactiveClientTest extends AgentTestRunner {
public static final String HOST = "127.0.0.1"
public static final int PORT = TestUtils.randomOpenPort()
public static final int DB_INDEX = 0
public static final String DB_ADDR = HOST + ":" + PORT + "/" + DB_INDEX
public static final String EMBEDDED_DB_URI = "redis://" + DB_ADDR
// Disable autoreconnect so we do not get stray traces popping up on server shutdown
public static final ClientOptions CLIENT_OPTIONS = ClientOptions.builder().autoReconnect(false).build()
@Shared
RedisServer redisServer = RedisServer.builder()
// bind to localhost to avoid firewall popup
.setting("bind " + HOST)
// set max memory to avoid problems in CI
.setting("maxmemory 128M")
.port(PORT).build()
String embeddedDbUri
RedisClient redisClient = RedisClient.create(EMBEDDED_DB_URI)
@Shared
RedisServer redisServer
RedisClient redisClient
StatefulConnection connection
RedisReactiveCommands<String, ?> reactiveCommands
RedisCommands<String, ?> syncCommands
def setupSpec() {
int port = TestUtils.randomOpenPort()
String dbAddr = HOST + ":" + port + "/" + DB_INDEX
embeddedDbUri = "redis://" + dbAddr
redisServer = RedisServer.builder()
// bind to localhost to avoid firewall popup
.setting("bind " + HOST)
// set max memory to avoid problems in CI
.setting("maxmemory 128M")
.port(port).build()
}
def setup() {
redisClient = RedisClient.create(embeddedDbUri)
println "Using redis: $redisServer.args"
redisServer.start()
redisClient.setOptions(CLIENT_OPTIONS)

View File

@ -15,23 +15,25 @@ import static datadog.trace.instrumentation.lettuce.LettuceInstrumentationUtil.A
class LettuceSyncClientTest extends AgentTestRunner {
public static final String HOST = "127.0.0.1"
public static final int PORT = TestUtils.randomOpenPort()
public static final int INCORRECT_PORT = TestUtils.randomOpenPort()
public static final int DB_INDEX = 0
public static final String DB_ADDR = HOST + ":" + PORT + "/" + DB_INDEX
public static final String DB_ADDR_NON_EXISTENT = HOST + ":" + INCORRECT_PORT + "/" + DB_INDEX
public static final String DB_URI_NON_EXISTENT = "redis://" + DB_ADDR_NON_EXISTENT
public static final String EMBEDDED_DB_URI = "redis://" + DB_ADDR
// Disable autoreconnect so we do not get stray traces popping up on server shutdown
public static final ClientOptions CLIENT_OPTIONS = ClientOptions.builder().autoReconnect(false).build()
@Shared
RedisServer redisServer = RedisServer.builder()
// bind to localhost to avoid firewall popup
.setting("bind " + HOST)
// set max memory to avoid problems in CI
.setting("maxmemory 128M")
.port(PORT).build()
int port
@Shared
int incorrectPort
@Shared
String dbAddr
@Shared
String dbAddrNonExistent
@Shared
String dbUriNonExistent
@Shared
String embeddedDbUri
@Shared
RedisServer redisServer
@Shared
Map<String, String> testHashMap = [
@ -40,11 +42,29 @@ class LettuceSyncClientTest extends AgentTestRunner {
age: "53"
]
RedisClient redisClient = RedisClient.create(EMBEDDED_DB_URI)
RedisClient redisClient
StatefulConnection connection
RedisCommands<String, ?> syncCommands
def setupSpec() {
port = TestUtils.randomOpenPort()
incorrectPort = TestUtils.randomOpenPort()
dbAddr = HOST + ":" + port + "/" + DB_INDEX
dbAddrNonExistent = HOST + ":" + incorrectPort + "/" + DB_INDEX
dbUriNonExistent = "redis://" + dbAddrNonExistent
embeddedDbUri = "redis://" + dbAddr
redisServer = RedisServer.builder()
// bind to localhost to avoid firewall popup
.setting("bind " + HOST)
// set max memory to avoid problems in CI
.setting("maxmemory 128M")
.port(port).build()
}
def setup() {
redisClient = RedisClient.create(embeddedDbUri)
redisServer.start()
connection = redisClient.connect()
syncCommands = connection.sync()
@ -64,7 +84,7 @@ class LettuceSyncClientTest extends AgentTestRunner {
def "connect"() {
setup:
RedisClient testConnectionClient = RedisClient.create(EMBEDDED_DB_URI)
RedisClient testConnectionClient = RedisClient.create(embeddedDbUri)
testConnectionClient.setOptions(CLIENT_OPTIONS)
when:
@ -77,17 +97,17 @@ class LettuceSyncClientTest extends AgentTestRunner {
serviceName "redis"
operationName "redis.query"
spanType "redis"
resourceName "CONNECT:" + DB_ADDR
resourceName "CONNECT:" + dbAddr
errored false
tags {
defaultTags()
"component" "redis-client"
"db.redis.url" DB_ADDR
"db.redis.url" dbAddr
"db.redis.dbIndex" 0
"db.type" "redis"
"peer.hostname" HOST
"peer.port" PORT
"peer.port" port
"span.kind" "client"
"span.type" "redis"
}
@ -101,7 +121,7 @@ class LettuceSyncClientTest extends AgentTestRunner {
def "connect exception"() {
setup:
RedisClient testConnectionClient = RedisClient.create(DB_URI_NON_EXISTENT)
RedisClient testConnectionClient = RedisClient.create(dbUriNonExistent)
testConnectionClient.setOptions(CLIENT_OPTIONS)
when:
@ -115,18 +135,18 @@ class LettuceSyncClientTest extends AgentTestRunner {
serviceName "redis"
operationName "redis.query"
spanType "redis"
resourceName "CONNECT:" + DB_ADDR_NON_EXISTENT
resourceName "CONNECT:" + dbAddrNonExistent
errored true
tags {
defaultTags()
"component" "redis-client"
"db.redis.url" DB_ADDR_NON_EXISTENT
"db.redis.url" dbAddrNonExistent
"db.redis.dbIndex" 0
"db.type" "redis"
errorTags CompletionException, String
"peer.hostname" HOST
"peer.port" INCORRECT_PORT
"peer.port" incorrectPort
"span.kind" "client"
"span.type" "redis"
}

View File

@ -22,10 +22,10 @@ class Netty40ClientTest extends AgentTestRunner {
System.setProperty("dd.integration.netty.enabled", "true")
}
static final PORT = TestUtils.randomOpenPort()
@Shared
Server server = new Server(PORT)
int port
@Shared
Server server
@Shared
AsyncHttpClient asyncHttpClient = asyncHttpClient()
// DefaultAsyncHttpClientConfig.Builder.newInstance().setRequestTimeout(Integer.MAX_VALUE).build())
@ -34,6 +34,9 @@ class Netty40ClientTest extends AgentTestRunner {
def setupSpec() {
port = TestUtils.randomOpenPort()
server = new Server(port)
Handler handler = [
handle: { String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response ->
request.getHeaderNames().each {
@ -59,7 +62,7 @@ class Netty40ClientTest extends AgentTestRunner {
def "test server request/response"() {
setup:
def responseFuture = asyncHttpClient.prepareGet("http://localhost:$PORT/").execute()
def responseFuture = asyncHttpClient.prepareGet("http://localhost:$port/").execute()
def response = responseFuture.get()
expect:
@ -79,7 +82,7 @@ class Netty40ClientTest extends AgentTestRunner {
"$Tags.COMPONENT.key" "netty-client"
"$Tags.HTTP_METHOD.key" "GET"
"$Tags.HTTP_STATUS.key" 200
"$Tags.HTTP_URL.key" "http://localhost:$PORT/"
"$Tags.HTTP_URL.key" "http://localhost:$port/"
"$Tags.PEER_HOSTNAME.key" "localhost"
"$Tags.PEER_PORT.key" Integer
"$Tags.SPAN_KIND.key" Tags.SPAN_KIND_CLIENT

View File

@ -22,10 +22,10 @@ class Netty41ClientTest extends AgentTestRunner {
System.setProperty("dd.integration.netty.enabled", "true")
}
static final PORT = TestUtils.randomOpenPort()
@Shared
Server server = new Server(PORT)
int port
@Shared
Server server
@Shared
AsyncHttpClient asyncHttpClient = asyncHttpClient()
// DefaultAsyncHttpClientConfig.Builder.newInstance().setRequestTimeout(Integer.MAX_VALUE).build())
@ -34,6 +34,9 @@ class Netty41ClientTest extends AgentTestRunner {
def setupSpec() {
port = TestUtils.randomOpenPort()
server = new Server(port)
Handler handler = [
handle: { String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response ->
request.getHeaderNames().each {
@ -59,7 +62,7 @@ class Netty41ClientTest extends AgentTestRunner {
def "test server request/response"() {
setup:
def responseFuture = asyncHttpClient.prepareGet("http://localhost:$PORT/").execute()
def responseFuture = asyncHttpClient.prepareGet("http://localhost:$port/").execute()
def response = responseFuture.get()
expect:
@ -79,7 +82,7 @@ class Netty41ClientTest extends AgentTestRunner {
"$Tags.COMPONENT.key" "netty-client"
"$Tags.HTTP_METHOD.key" "GET"
"$Tags.HTTP_STATUS.key" 200
"$Tags.HTTP_URL.key" "http://localhost:$PORT/"
"$Tags.HTTP_URL.key" "http://localhost:$port/"
"$Tags.PEER_HOSTNAME.key" "localhost"
"$Tags.PEER_PORT.key" Integer
"$Tags.SPAN_KIND.key" Tags.SPAN_KIND_CLIENT

View File

@ -14,11 +14,12 @@ class Play26Test extends AgentTestRunner {
}
@Shared
int port = TestUtils.randomOpenPort()
int port
@Shared
TestServer testServer
def setupSpec() {
port = TestUtils.randomOpenPort()
testServer = Helpers.testServer(port, Play26TestUtils.buildTestApp())
testServer.start()
}

View File

@ -9,11 +9,12 @@ import spock.lang.Shared
class Play24Test extends AgentTestRunner {
@Shared
int port = TestUtils.randomOpenPort()
int port
@Shared
TestServer testServer
def setupSpec() {
port = TestUtils.randomOpenPort()
testServer = Helpers.testServer(port, Play24TestUtils.buildTestApp())
testServer.start()
}

View File

@ -28,10 +28,11 @@ import static datadog.trace.agent.test.ListWriterAssert.assertTraces
class JettyServlet2Test extends AgentTestRunner {
static final int PORT = TestUtils.randomOpenPort()
// Jetty needs this to ensure consistent ordering for async.
CountDownLatch latch = new CountDownLatch(1)
int port
OkHttpClient client = new OkHttpClient.Builder()
.addNetworkInterceptor(new Interceptor() {
@Override
@ -60,7 +61,8 @@ class JettyServlet2Test extends AgentTestRunner {
DDTracer tracer = new DDTracer(writer)
def setup() {
jettyServer = new Server(PORT)
port = TestUtils.randomOpenPort()
jettyServer = new Server(port)
servletContext = new ServletContextHandler()
ConstraintSecurityHandler security = setupAuthentication(jettyServer)
@ -73,7 +75,7 @@ class JettyServlet2Test extends AgentTestRunner {
jettyServer.start()
System.out.println(
"Jetty server: http://localhost:" + PORT + "/")
"Jetty server: http://localhost:" + port + "/")
try {
GlobalTracer.register(tracer)
@ -95,7 +97,7 @@ class JettyServlet2Test extends AgentTestRunner {
def "test #path servlet call"() {
setup:
def requestBuilder = new Request.Builder()
.url("http://localhost:$PORT/$path")
.url("http://localhost:$port/$path")
.get()
if (auth) {
requestBuilder.header(HttpHeaders.AUTHORIZATION, Credentials.basic("user", "password"))
@ -115,7 +117,7 @@ class JettyServlet2Test extends AgentTestRunner {
errored false
parent()
tags {
"http.url" "http://localhost:$PORT/$path"
"http.url" "http://localhost:$port/$path"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
@ -139,7 +141,7 @@ class JettyServlet2Test extends AgentTestRunner {
def "test #path error servlet call"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/$path?error=true")
.url("http://localhost:$port/$path?error=true")
.get()
.build()
def response = client.newCall(request).execute()
@ -157,7 +159,7 @@ class JettyServlet2Test extends AgentTestRunner {
errored true
parent()
tags {
"http.url" "http://localhost:$PORT/$path"
"http.url" "http://localhost:$port/$path"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
@ -179,7 +181,7 @@ class JettyServlet2Test extends AgentTestRunner {
// This doesn't actually detect the error because we can't get the status code via the old servlet API.
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/$path?non-throwing-error=true")
.url("http://localhost:$port/$path?non-throwing-error=true")
.get()
.build()
def response = client.newCall(request).execute()
@ -197,7 +199,7 @@ class JettyServlet2Test extends AgentTestRunner {
errored false
parent()
tags {
"http.url" "http://localhost:$PORT/$path"
"http.url" "http://localhost:$port/$path"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"

View File

@ -28,11 +28,11 @@ import static datadog.trace.agent.test.ListWriterAssert.assertTraces
class JettyServlet3Test extends AgentTestRunner {
static final int PORT = TestUtils.randomOpenPort()
// Jetty needs this to ensure consistent ordering for async.
CountDownLatch latch = new CountDownLatch(1)
int port
OkHttpClient client = new OkHttpClient.Builder()
.addNetworkInterceptor(new Interceptor() {
@Override
@ -61,7 +61,8 @@ class JettyServlet3Test extends AgentTestRunner {
DDTracer tracer = new DDTracer(writer)
def setup() {
jettyServer = new Server(PORT)
port = TestUtils.randomOpenPort()
jettyServer = new Server(port)
servletContext = new ServletContextHandler()
ConstraintSecurityHandler security = setupAuthentication(jettyServer)
@ -76,7 +77,7 @@ class JettyServlet3Test extends AgentTestRunner {
jettyServer.start()
System.out.println(
"Jetty server: http://localhost:" + PORT + "/")
"Jetty server: http://localhost:" + port + "/")
try {
GlobalTracer.register(tracer)
@ -98,7 +99,7 @@ class JettyServlet3Test extends AgentTestRunner {
def "test #path servlet call"() {
setup:
def requestBuilder = new Request.Builder()
.url("http://localhost:$PORT/$path")
.url("http://localhost:$port/$path")
.get()
if (auth) {
requestBuilder.header(HttpHeaders.AUTHORIZATION, Credentials.basic("user", "password"))
@ -118,7 +119,7 @@ class JettyServlet3Test extends AgentTestRunner {
errored false
parent()
tags {
"http.url" "http://localhost:$PORT/$path"
"http.url" "http://localhost:$port/$path"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
@ -145,7 +146,7 @@ class JettyServlet3Test extends AgentTestRunner {
def "servlet instrumentation clears state after async request"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/async")
.url("http://localhost:$port/async")
.get()
.build()
def numTraces = 5
@ -170,7 +171,7 @@ class JettyServlet3Test extends AgentTestRunner {
def "test #path error servlet call"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/$path?error=true")
.url("http://localhost:$port/$path?error=true")
.get()
.build()
def response = client.newCall(request).execute()
@ -188,7 +189,7 @@ class JettyServlet3Test extends AgentTestRunner {
errored true
parent()
tags {
"http.url" "http://localhost:$PORT/$path"
"http.url" "http://localhost:$port/$path"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
@ -211,7 +212,7 @@ class JettyServlet3Test extends AgentTestRunner {
def "test #path non-throwing-error servlet call"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/$path?non-throwing-error=true")
.url("http://localhost:$port/$path?non-throwing-error=true")
.get()
.build()
def response = client.newCall(request).execute()
@ -229,7 +230,7 @@ class JettyServlet3Test extends AgentTestRunner {
errored true
parent()
tags {
"http.url" "http://localhost:$PORT/$path"
"http.url" "http://localhost:$port/$path"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"

View File

@ -18,7 +18,7 @@ import static datadog.trace.agent.test.ListWriterAssert.assertTraces
class TomcatServlet3Test extends AgentTestRunner {
static final int PORT = TestUtils.randomOpenPort()
int port
OkHttpClient client = new OkHttpClient.Builder()
// Uncomment when debugging:
// .connectTimeout(1, TimeUnit.HOURS)
@ -33,8 +33,9 @@ class TomcatServlet3Test extends AgentTestRunner {
DDTracer tracer = new DDTracer(writer)
def setup() {
port = TestUtils.randomOpenPort()
tomcatServer = new Tomcat()
tomcatServer.setPort(PORT)
tomcatServer.setPort(port)
def baseDir = Files.createTempDir()
baseDir.deleteOnExit()
@ -61,7 +62,7 @@ class TomcatServlet3Test extends AgentTestRunner {
tomcatServer.start()
System.out.println(
"Tomcat server: http://" + tomcatServer.getHost().getName() + ":" + PORT + "/")
"Tomcat server: http://" + tomcatServer.getHost().getName() + ":" + port + "/")
try {
@ -84,7 +85,7 @@ class TomcatServlet3Test extends AgentTestRunner {
def "test #path servlet call"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/my-context/$path")
.url("http://localhost:$port/my-context/$path")
.get()
.build()
def response = client.newCall(request).execute()
@ -102,7 +103,7 @@ class TomcatServlet3Test extends AgentTestRunner {
errored false
parent()
tags {
"http.url" "http://localhost:$PORT/my-context/$path"
"http.url" "http://localhost:$port/my-context/$path"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
@ -124,7 +125,7 @@ class TomcatServlet3Test extends AgentTestRunner {
def "test #path error servlet call"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/my-context/$path?error=true")
.url("http://localhost:$port/my-context/$path?error=true")
.get()
.build()
def response = client.newCall(request).execute()
@ -142,7 +143,7 @@ class TomcatServlet3Test extends AgentTestRunner {
errored true
parent()
tags {
"http.url" "http://localhost:$PORT/my-context/$path"
"http.url" "http://localhost:$port/my-context/$path"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"
@ -165,7 +166,7 @@ class TomcatServlet3Test extends AgentTestRunner {
def "test #path error servlet call for non-throwing error"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/my-context/$path?non-throwing-error=true")
.url("http://localhost:$port/my-context/$path?non-throwing-error=true")
.get()
.build()
def response = client.newCall(request).execute()
@ -183,7 +184,7 @@ class TomcatServlet3Test extends AgentTestRunner {
errored true
parent()
tags {
"http.url" "http://localhost:$PORT/my-context/$path"
"http.url" "http://localhost:$port/my-context/$path"
"http.method" "GET"
"span.kind" "server"
"component" "java-web-servlet"

View File

@ -5,6 +5,7 @@ import okhttp3.OkHttpClient
import okhttp3.Request
import spark.Spark
import spark.embeddedserver.jetty.JettyHandler
import spock.lang.Shared
class SparkJavaBasedTest extends AgentTestRunner {
@ -12,7 +13,9 @@ class SparkJavaBasedTest extends AgentTestRunner {
System.setProperty("dd.integration.jetty.enabled", "true")
System.setProperty("dd.integration.sparkjava.enabled", "true")
}
static final int PORT = TestUtils.randomOpenPort()
@Shared
int port
OkHttpClient client = new OkHttpClient.Builder()
// Uncomment when debugging:
@ -22,7 +25,8 @@ class SparkJavaBasedTest extends AgentTestRunner {
.build()
def setupSpec() {
TestSparkJavaApplication.initSpark(PORT)
port = TestUtils.randomOpenPort()
TestSparkJavaApplication.initSpark(port)
}
def cleanupSpec() {
@ -32,26 +36,26 @@ class SparkJavaBasedTest extends AgentTestRunner {
def "valid response"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/")
.url("http://localhost:$port/")
.get()
.build()
def response = client.newCall(request).execute()
expect:
PORT != 0
port != 0
response.body().string() == "Hello World"
}
def "valid response with registered trace"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/")
.url("http://localhost:$port/")
.get()
.build()
def response = client.newCall(request).execute()
expect:
PORT != 0
port != 0
response.body().string() == "Hello World"
and:
@ -63,7 +67,7 @@ class SparkJavaBasedTest extends AgentTestRunner {
def "generates spans"() {
setup:
def request = new Request.Builder()
.url("http://localhost:$PORT/param/asdf1234")
.url("http://localhost:$port/param/asdf1234")
.get()
.build()
def response = client.newCall(request).execute()
@ -83,7 +87,7 @@ class SparkJavaBasedTest extends AgentTestRunner {
!context.getErrorFlag()
context.parentId == 0
def tags = context.tags
tags["http.url"] == "http://localhost:$PORT/param/asdf1234"
tags["http.url"] == "http://localhost:$port/param/asdf1234"
tags["http.method"] == "GET"
tags["span.kind"] == "server"
tags["span.type"] == "web"