From 569b7b58189594c82425c2355397e008b465e43c Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Wed, 10 Mar 2021 20:26:19 +0200 Subject: [PATCH] Fix grails latestDep test failure (#2547) * Fix grails3 latestDep test failure * not found uses sendError --- .../javaagent/grails-3.0-javaagent.gradle | 4 ++-- .../src/test/groovy/test/ErrorController.groovy | 5 +++++ .../src/test/groovy/test/GrailsTest.groovy | 15 ++++++++++++--- .../src/test/groovy/test/UrlMappings.groovy | 1 + 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/instrumentation/grails-3.0/javaagent/grails-3.0-javaagent.gradle b/instrumentation/grails-3.0/javaagent/grails-3.0-javaagent.gradle index 902b0983e7..4a8731cc5c 100644 --- a/instrumentation/grails-3.0/javaagent/grails-3.0-javaagent.gradle +++ b/instrumentation/grails-3.0/javaagent/grails-3.0-javaagent.gradle @@ -31,8 +31,8 @@ dependencies { testInstrumentation project(':instrumentation:tomcat-7.0:javaagent') testInstrumentation project(':instrumentation:spring:spring-webmvc-3.1:javaagent') - testImplementation "org.springframework.boot:spring-boot-autoconfigure:$springBootVersion" - testImplementation "org.springframework.boot:spring-boot-starter-tomcat:$springBootVersion" + testLibrary "org.springframework.boot:spring-boot-autoconfigure:$springBootVersion" + testLibrary "org.springframework.boot:spring-boot-starter-tomcat:$springBootVersion" testImplementation(project(':testing-common')) { exclude group: 'org.eclipse.jetty', module: 'jetty-server' diff --git a/instrumentation/grails-3.0/javaagent/src/test/groovy/test/ErrorController.groovy b/instrumentation/grails-3.0/javaagent/src/test/groovy/test/ErrorController.groovy index b196b0ba38..989c17d441 100644 --- a/instrumentation/grails-3.0/javaagent/src/test/groovy/test/ErrorController.groovy +++ b/instrumentation/grails-3.0/javaagent/src/test/groovy/test/ErrorController.groovy @@ -14,4 +14,9 @@ class ErrorController implements Controller { def index() { render "Error" } + + @Action + def notFound() { + response.sendError(404, "Not Found") + } } diff --git a/instrumentation/grails-3.0/javaagent/src/test/groovy/test/GrailsTest.groovy b/instrumentation/grails-3.0/javaagent/src/test/groovy/test/GrailsTest.groovy index 91eb10664e..9f91e9d289 100644 --- a/instrumentation/grails-3.0/javaagent/src/test/groovy/test/GrailsTest.groovy +++ b/instrumentation/grails-3.0/javaagent/src/test/groovy/test/GrailsTest.groovy @@ -59,7 +59,7 @@ class GrailsTest extends HttpServerTest implemen } else if (endpoint == ERROR || endpoint == EXCEPTION) { return getContextPath() + "/error/index" } else if (endpoint == NOT_FOUND) { - return getContextPath() + "/error" + return getContextPath() + "/**" } return getContextPath() + "/test" + endpoint.path } @@ -101,7 +101,7 @@ class GrailsTest extends HttpServerTest implemen @Override int getErrorPageSpansCount(ServerEndpoint endpoint) { - 2 + endpoint == NOT_FOUND ? 3 : 2 } @Override @@ -112,7 +112,7 @@ class GrailsTest extends HttpServerTest implemen @Override void errorPageSpans(TraceAssert trace, int index, Object parent, String method = "GET", ServerEndpoint endpoint) { forwardSpan(trace, index, trace.span(0)) - def errorSpanName = endpoint == NOT_FOUND ? "BasicErrorController.error" : "ErrorController.index" + def errorSpanName = endpoint == NOT_FOUND ? "ErrorController.notFound" : "ErrorController.index" trace.span(index + 1) { name errorSpanName kind INTERNAL @@ -120,6 +120,15 @@ class GrailsTest extends HttpServerTest implemen attributes { } } + if (endpoint == NOT_FOUND) { + trace.span(index + 2) { + name ~/\.sendError$/ + kind INTERNAL + errored false + attributes { + } + } + } } @Override diff --git a/instrumentation/grails-3.0/javaagent/src/test/groovy/test/UrlMappings.groovy b/instrumentation/grails-3.0/javaagent/src/test/groovy/test/UrlMappings.groovy index 9b2c7ec953..ef49ee3101 100644 --- a/instrumentation/grails-3.0/javaagent/src/test/groovy/test/UrlMappings.groovy +++ b/instrumentation/grails-3.0/javaagent/src/test/groovy/test/UrlMappings.groovy @@ -16,5 +16,6 @@ class UrlMappings { "/path/$id/param"(controller: 'test', action: 'path') "500"(controller: 'error') + "404"(controller: 'error', action: 'notFound') } }