From 8a551f0870c5166f936aad0b0d1d78897d2381d6 Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Mon, 17 Apr 2023 14:13:54 +0100 Subject: [PATCH 1/4] Use core M2 Fix up removed and deprecated methods --- gradle/libs.versions.toml | 2 +- .../java/io/micronaut/servlet/http/ServletBinderRegistry.java | 4 ++-- .../micronaut/servlet/engine/DefaultServletHttpRequest.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 72cf30542..5fe57e9db 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -micronaut = "4.0.0-M1" +micronaut = "4.0.0-M2" micronaut-docs = "2.0.0" micronaut-test = "4.0.0-SNAPSHOT" groovy = "4.0.10" diff --git a/servlet-core/src/main/java/io/micronaut/servlet/http/ServletBinderRegistry.java b/servlet-core/src/main/java/io/micronaut/servlet/http/ServletBinderRegistry.java index db9cc41da..235a22241 100644 --- a/servlet-core/src/main/java/io/micronaut/servlet/http/ServletBinderRegistry.java +++ b/servlet-core/src/main/java/io/micronaut/servlet/http/ServletBinderRegistry.java @@ -74,7 +74,7 @@ protected ServletBodyBinder newServletBodyBinder( } @Override - public Optional>> findArgumentBinder(Argument argument, HttpRequest source) { + public Optional>> findArgumentBinder(Argument argument) { final Class annotation = argument.getAnnotationMetadata().getAnnotationTypeByStereotype(BINDABLE_ANN).orElse(null); if (annotation != null) { final RequestArgumentBinder binder = byAnnotation.get(annotation); @@ -87,7 +87,7 @@ public Optional>> findArgumentBinder(Argume if (requestArgumentBinder != null) { return Optional.of(requestArgumentBinder); } else { - return this.defaultRegistry.findArgumentBinder(argument, source); + return this.defaultRegistry.findArgumentBinder(argument); } } } diff --git a/servlet-engine/src/main/java/io/micronaut/servlet/engine/DefaultServletHttpRequest.java b/servlet-engine/src/main/java/io/micronaut/servlet/engine/DefaultServletHttpRequest.java index 69b63fe59..1c20717f7 100644 --- a/servlet-engine/src/main/java/io/micronaut/servlet/engine/DefaultServletHttpRequest.java +++ b/servlet-engine/src/main/java/io/micronaut/servlet/engine/DefaultServletHttpRequest.java @@ -189,7 +189,7 @@ protected Object buildBody() { private Argument resolveBodyType() { RouteMatch route = this.getAttribute(HttpAttributes.ROUTE_MATCH, RouteMatch.class).orElse(null); if (route != null) { - Argument bodyType = route.getBodyArgument() + Argument bodyType = route.getRouteInfo().getFullBodyArgument() /* The getBodyArgument() method returns arguments for functions where it is not possible to dictate whether the argument is supposed to bind the entire From 952c96e28b9dcfccd4deb5dd7a6fe54e59886d3a Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Mon, 17 Apr 2023 15:47:09 +0100 Subject: [PATCH 2/4] Latest Test and validation --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5fe57e9db..3eb8c664c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] micronaut = "4.0.0-M2" micronaut-docs = "2.0.0" -micronaut-test = "4.0.0-SNAPSHOT" +micronaut-test = "4.0.0-M1" groovy = "4.0.10" spock = "2.3-groovy-4.0" @@ -18,7 +18,7 @@ micronaut-reactor = "3.0.0-M1" micronaut-security = "4.0.0-M1" micronaut-serde = "2.0.0-M1" micronaut-session = "4.0.0-M1" -micronaut-validation = "4.0.0-M2" +micronaut-validation = "4.0.0-M3" google-cloud-functions = '1.0.4' kotlin = "1.8.10" From 264a56260142661a842a450176a0d2232b12dbf6 Mon Sep 17 00:00:00 2001 From: Denis Stepanov Date: Tue, 18 Apr 2023 10:58:53 -0600 Subject: [PATCH 3/4] Correct test --- .../servlet/jetty/JettyExceptionHandlerSpec.groovy | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/http-server-jetty/src/test/groovy/io/micronaut/servlet/jetty/JettyExceptionHandlerSpec.groovy b/http-server-jetty/src/test/groovy/io/micronaut/servlet/jetty/JettyExceptionHandlerSpec.groovy index 3e18c6298..e19eb4860 100644 --- a/http-server-jetty/src/test/groovy/io/micronaut/servlet/jetty/JettyExceptionHandlerSpec.groovy +++ b/http-server-jetty/src/test/groovy/io/micronaut/servlet/jetty/JettyExceptionHandlerSpec.groovy @@ -43,12 +43,11 @@ class JettyExceptionHandlerSpec extends Specification { void "test an exception handler returning the body"() { when: - client.toBlocking().retrieve("/exception/my") + def resp = client.toBlocking().exchange("/exception/my", String) then: - def ex = thrown(HttpClientResponseException) - ex.response.status() == HttpStatus.INTERNAL_SERVER_ERROR - ex.response.getBody().get() == "hello" + resp.status() == HttpStatus.OK + resp.getBody().get() == "hello" } void "test a filter throwing an exception on a 404"() { From d22e4371b084fb3abc1ad8e718dc2ede134b376d Mon Sep 17 00:00:00 2001 From: Graeme Rocher Date: Wed, 19 Apr 2023 16:04:56 +0200 Subject: [PATCH 4/4] ignore tests for graal for the moment --- ...erverTestSuite.java => JettyHttpServerTestSuite.java} | 3 ++- .../resources/META-INF/native-image/resource-config.json | 9 +++++++++ .../tck/tomcat/tests/TomcatHttpServerTestSuite.java | 1 + .../resources/META-INF/native-image/resource-config.json | 9 +++++++++ .../tck/undertow/tests/UndertowHttpServerTestSuite.java | 1 + .../resources/META-INF/native-image/resource-config.json | 9 +++++++++ 6 files changed, 31 insertions(+), 1 deletion(-) rename test-suite-http-server-tck-jetty/src/test/java/io/micronaut/http/server/tck/jetty/tests/{JettytHttpServerTestSuite.java => JettyHttpServerTestSuite.java} (82%) create mode 100644 test-suite-http-server-tck-jetty/src/test/resources/META-INF/native-image/resource-config.json create mode 100644 test-suite-http-server-tck-tomcat/src/test/resources/META-INF/native-image/resource-config.json create mode 100644 test-suite-http-server-tck-undertow/src/test/resources/META-INF/native-image/resource-config.json diff --git a/test-suite-http-server-tck-jetty/src/test/java/io/micronaut/http/server/tck/jetty/tests/JettytHttpServerTestSuite.java b/test-suite-http-server-tck-jetty/src/test/java/io/micronaut/http/server/tck/jetty/tests/JettyHttpServerTestSuite.java similarity index 82% rename from test-suite-http-server-tck-jetty/src/test/java/io/micronaut/http/server/tck/jetty/tests/JettytHttpServerTestSuite.java rename to test-suite-http-server-tck-jetty/src/test/java/io/micronaut/http/server/tck/jetty/tests/JettyHttpServerTestSuite.java index 68bc3ac9b..01eada19c 100644 --- a/test-suite-http-server-tck-jetty/src/test/java/io/micronaut/http/server/tck/jetty/tests/JettytHttpServerTestSuite.java +++ b/test-suite-http-server-tck-jetty/src/test/java/io/micronaut/http/server/tck/jetty/tests/JettyHttpServerTestSuite.java @@ -10,9 +10,10 @@ @SuiteDisplayName("HTTP Server TCK for Jetty") @ExcludeClassNamePatterns({ "io.micronaut.http.server.tck.tests.cors.CorsSimpleRequestTest", + "io.micronaut.http.server.tck.tests.staticresources.StaticResourceTest", // fails on GraalVm "io.micronaut.http.server.tck.tests.filter.ClientResponseFilterTest", // fails on GraalVM "io.micronaut.http.server.tck.tests.ErrorHandlerTest" // fails on GraalVM }) -public class JettytHttpServerTestSuite { +public class JettyHttpServerTestSuite { } diff --git a/test-suite-http-server-tck-jetty/src/test/resources/META-INF/native-image/resource-config.json b/test-suite-http-server-tck-jetty/src/test/resources/META-INF/native-image/resource-config.json new file mode 100644 index 000000000..f452cd1ac --- /dev/null +++ b/test-suite-http-server-tck-jetty/src/test/resources/META-INF/native-image/resource-config.json @@ -0,0 +1,9 @@ +{ + "resources": { + "includes": [ + { + "pattern": "\\Qassets\\E" + } + ] + } +} diff --git a/test-suite-http-server-tck-tomcat/src/test/java/io/micronaut/http/server/tck/tomcat/tests/TomcatHttpServerTestSuite.java b/test-suite-http-server-tck-tomcat/src/test/java/io/micronaut/http/server/tck/tomcat/tests/TomcatHttpServerTestSuite.java index b5391b19a..fd951f53c 100644 --- a/test-suite-http-server-tck-tomcat/src/test/java/io/micronaut/http/server/tck/tomcat/tests/TomcatHttpServerTestSuite.java +++ b/test-suite-http-server-tck-tomcat/src/test/java/io/micronaut/http/server/tck/tomcat/tests/TomcatHttpServerTestSuite.java @@ -11,6 +11,7 @@ @SuiteDisplayName("HTTP Server TCK for Tomcat") @ExcludeClassNamePatterns({ "io.micronaut.http.server.tck.tests.cors.CorsSimpleRequestTest", + "io.micronaut.http.server.tck.tests.staticresources.StaticResourceTest", // fails on GraalVm "io.micronaut.http.server.tck.tests.filter.ClientResponseFilterTest", // fails on GraalVM "io.micronaut.http.server.tck.tests.ErrorHandlerTest" // fails on GraalVM }) diff --git a/test-suite-http-server-tck-tomcat/src/test/resources/META-INF/native-image/resource-config.json b/test-suite-http-server-tck-tomcat/src/test/resources/META-INF/native-image/resource-config.json new file mode 100644 index 000000000..f452cd1ac --- /dev/null +++ b/test-suite-http-server-tck-tomcat/src/test/resources/META-INF/native-image/resource-config.json @@ -0,0 +1,9 @@ +{ + "resources": { + "includes": [ + { + "pattern": "\\Qassets\\E" + } + ] + } +} diff --git a/test-suite-http-server-tck-undertow/src/test/java/io/micronaut/http/server/tck/undertow/tests/UndertowHttpServerTestSuite.java b/test-suite-http-server-tck-undertow/src/test/java/io/micronaut/http/server/tck/undertow/tests/UndertowHttpServerTestSuite.java index 2f038d647..126290f7a 100644 --- a/test-suite-http-server-tck-undertow/src/test/java/io/micronaut/http/server/tck/undertow/tests/UndertowHttpServerTestSuite.java +++ b/test-suite-http-server-tck-undertow/src/test/java/io/micronaut/http/server/tck/undertow/tests/UndertowHttpServerTestSuite.java @@ -11,6 +11,7 @@ @ExcludeClassNamePatterns({ "io.micronaut.http.server.tck.tests.cors.CorsSimpleRequestTest", "io.micronaut.http.server.tck.tests.RemoteAddressTest", + "io.micronaut.http.server.tck.tests.staticresources.StaticResourceTest", // fails on GraalVm "io.micronaut.http.server.tck.tests.filter.ClientResponseFilterTest", // fails on GraalVM "io.micronaut.http.server.tck.tests.ErrorHandlerTest" // fails on GraalVM }) diff --git a/test-suite-http-server-tck-undertow/src/test/resources/META-INF/native-image/resource-config.json b/test-suite-http-server-tck-undertow/src/test/resources/META-INF/native-image/resource-config.json new file mode 100644 index 000000000..f452cd1ac --- /dev/null +++ b/test-suite-http-server-tck-undertow/src/test/resources/META-INF/native-image/resource-config.json @@ -0,0 +1,9 @@ +{ + "resources": { + "includes": [ + { + "pattern": "\\Qassets\\E" + } + ] + } +}