Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REST Client Reactive - param converter support #22396

Merged
merged 2 commits into from
Dec 20, 2021

Conversation

michalszynkiewicz
Copy link
Member

Path params, query params, cookie params and header params are supported with this change

fixes #22287
fixes #22232

Path params, query params, cookie params and header params are supported with this change
@michalszynkiewicz
Copy link
Member Author

CC @Sgitario

@gsmet
Copy link
Member

gsmet commented Dec 20, 2021

It's big but I wonder if we should backport it given it's a pretty serious limitation?

@geoand
Copy link
Contributor

geoand commented Dec 20, 2021

Seems safe to me, but I'll let @michalszynkiewicz decide

@quarkus-bot
Copy link

quarkus-bot bot commented Dec 20, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 307b5e7

Status Name Step Failures Logs Raw logs
JVM Tests - JDK 11 Build Failures Logs Raw logs
JVM Tests - JDK 11 Windows Build Failures Logs Raw logs
JVM Tests - JDK 17 Build Failures Logs Raw logs
Native Tests - HTTP Build Failures Logs Raw logs
Native Tests - Misc4 Build Failures Logs Raw logs
Native Tests - Security2 Build Failures Logs Raw logs

Full information is available in the Build summary check run.

Failures

⚙️ JVM Tests - JDK 11 #

- Failing: integration-tests/micrometer-prometheus integration-tests/oidc-client-reactive integration-tests/rest-client-reactive and 4 more

📦 integration-tests/micrometer-prometheus

io.quarkus.it.micrometer.prometheus.ClientRequestTest.testClientRequests line 14 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/oidc-client-reactive

io.quarkus.it.keycloak.OidcClientTest.testGetUserNameReactive line 43 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.keycloak.OidcClientTest.testGetUserNameReactiveAndRefreshTokens line 52 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.keycloak.OidcClientTest.testGetUserNameCustomFilter line 34 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/rest-client-reactive

io.quarkus.it.rest.client.BasicTest.shouldMakeJsonRequest - More details - Source on GitHub

java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:588)
	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:661)

📦 integration-tests/rest-client-reactive-kotlin-serialization

io.quarkus.it.rest.client.BasicTest.callCountries - More details - Source on GitHub

org.opentest4j.AssertionFailedError: 

expected: "OK"

io.quarkus.it.rest.client.BasicTest.callCountry line 20 - More details - Source on GitHub

org.opentest4j.AssertionFailedError: 

expected: "Sthlm"

📦 integration-tests/rest-client-reactive-multipart

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendBufferAsTextFile line 154 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendFileAsBinaryFile line 80 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullBufferAsBinaryFile line 68 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldProducesMultipartForm line 212 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected content-type "MULTIPART" doesn't match actual content-type "application/json; charset=utf-8".

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAndPojoWithNullPojo line 203 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullByteArrayAsBinaryFile line 43 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendFileAsTextFile line 166 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendBufferAsBinaryFile line 55 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAsBinaryFile line 30 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAsTextFile line 142 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAndPojo line 190 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullPathAsBinaryFile line 130 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullFileAsBinaryFile line 105 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldMultiAsBinaryFile line 92 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendPathAsTextFile line 178 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendPathAsBinaryFile line 117 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/rest-client-reactive-stork

io.quarkus.it.rest.reactive.stork.RestClientReactiveStorkTest.shouldUseFasterService line 28 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/resteasy-reactive-kotlin/standard

io.quarkus.it.resteasy.reactive.kotlin.ReactiveClientTest.testGetCountryByName line 17 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.resteasy.reactive.kotlin.ReactiveMessagingTest.test line 33 - More details - Source on GitHub

com.fasterxml.jackson.databind.exc.MismatchedInputException: 
Cannot deserialize value of type `java.util.ArrayList<io.quarkus.it.resteasy.reactive.kotlin.Country>` from Object value (token `JsonToken.START_OBJECT`)
 at [Source: (String)"{"details":"Error id 7c70021f-b275-4cc2-ae3f-99af4a02d588-2, java.lang.NoClassDefFoundError: io/quarkus/jaxrs/client/reactive/deployment/RestClientBase","stack":"java.lang.NoClassDefFoundError: io/quarkus/jaxrs/client/reactive/deployment/RestClientBase\n\tat io.quarkus.it.resteasy.reactive.kotlin.CountriesGateway$$QuarkusRestClientInterfaceCreator.apply(Unknown Source)\n\tat org.jboss.resteasy.reactive.client.impl.ClientProxies.get(ClientProxies.java:36)\n\tat org.jboss.resteasy.reactive.client."[truncated 3434 chars]; line: 1, column: 1]

⚙️ JVM Tests - JDK 11 Windows #

- Failing: integration-tests/micrometer-prometheus integration-tests/rest-client-reactive integration-tests/rest-client-reactive-kotlin-serialization and 2 more

📦 integration-tests/micrometer-prometheus

io.quarkus.it.micrometer.prometheus.ClientRequestTest.testClientRequests line 14 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/rest-client-reactive

io.quarkus.it.rest.client.BasicTest.shouldMakeJsonRequest - More details - Source on GitHub

java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:588)
	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:661)

📦 integration-tests/rest-client-reactive-kotlin-serialization

io.quarkus.it.rest.client.BasicTest.callCountries - More details - Source on GitHub

org.opentest4j.AssertionFailedError: 

expected: "OK"

io.quarkus.it.rest.client.BasicTest.callCountry line 20 - More details - Source on GitHub

org.opentest4j.AssertionFailedError: 

expected: "Sthlm"

📦 integration-tests/rest-client-reactive-multipart

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendBufferAsTextFile line 154 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendFileAsBinaryFile line 80 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullBufferAsBinaryFile line 68 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldProducesMultipartForm line 212 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected content-type "MULTIPART" doesn't match actual content-type "application/json; charset=utf-8".

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAndPojoWithNullPojo line 203 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullByteArrayAsBinaryFile line 43 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendFileAsTextFile line 166 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendBufferAsBinaryFile line 55 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAsBinaryFile line 30 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAsTextFile line 142 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAndPojo line 190 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullPathAsBinaryFile line 130 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullFileAsBinaryFile line 105 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldMultiAsBinaryFile line 92 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendPathAsTextFile line 178 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendPathAsBinaryFile line 117 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/rest-client-reactive-stork

io.quarkus.it.rest.reactive.stork.RestClientReactiveStorkTest.shouldUseFasterService line 28 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

⚙️ JVM Tests - JDK 17 #

- Failing: integration-tests/micrometer-prometheus integration-tests/oidc-client-reactive integration-tests/rest-client-reactive and 4 more

📦 integration-tests/micrometer-prometheus

io.quarkus.it.micrometer.prometheus.ClientRequestTest.testClientRequests line 14 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/oidc-client-reactive

io.quarkus.it.keycloak.OidcClientTest.testGetUserNameReactive line 43 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.keycloak.OidcClientTest.testGetUserNameReactiveAndRefreshTokens line 52 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.keycloak.OidcClientTest.testGetUserNameCustomFilter line 34 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/rest-client-reactive

io.quarkus.it.rest.client.BasicTest.shouldMakeJsonRequest - More details - Source on GitHub

java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:588)
	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:661)

📦 integration-tests/rest-client-reactive-kotlin-serialization

io.quarkus.it.rest.client.BasicTest.callCountries - More details - Source on GitHub

org.opentest4j.AssertionFailedError: 

expected: "OK"

io.quarkus.it.rest.client.BasicTest.callCountry - More details - Source on GitHub

org.opentest4j.AssertionFailedError: 

expected: "Sthlm"

📦 integration-tests/rest-client-reactive-multipart

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendBufferAsTextFile line 154 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendFileAsBinaryFile line 80 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullBufferAsBinaryFile line 68 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldProducesMultipartForm line 212 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected content-type "MULTIPART" doesn't match actual content-type "application/json; charset=utf-8".

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAndPojoWithNullPojo line 203 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullByteArrayAsBinaryFile line 43 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendFileAsTextFile line 166 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendBufferAsBinaryFile line 55 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAsBinaryFile line 30 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAsTextFile line 142 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendByteArrayAndPojo line 190 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullPathAsBinaryFile line 130 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendNullFileAsBinaryFile line 105 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldMultiAsBinaryFile line 92 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendPathAsTextFile line 178 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.rest.client.multipart.MultipartResourceTest.shouldSendPathAsBinaryFile line 117 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/rest-client-reactive-stork

io.quarkus.it.rest.reactive.stork.RestClientReactiveStorkTest.shouldUseFasterService line 28 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/resteasy-reactive-kotlin/standard

io.quarkus.it.resteasy.reactive.kotlin.ReactiveClientTest.testGetCountryByName line 17 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

io.quarkus.it.resteasy.reactive.kotlin.ReactiveMessagingTest.test line 33 - More details - Source on GitHub

com.fasterxml.jackson.databind.exc.MismatchedInputException: 
Cannot deserialize value of type `java.util.ArrayList<io.quarkus.it.resteasy.reactive.kotlin.Country>` from Object value (token `JsonToken.START_OBJECT`)
 at [Source: (String)"{"details":"Error id a6f02e1d-c7cb-467b-8557-10a8ab8d5ddb-2, java.lang.NoClassDefFoundError: io/quarkus/jaxrs/client/reactive/deployment/RestClientBase","stack":"java.lang.NoClassDefFoundError: io/quarkus/jaxrs/client/reactive/deployment/RestClientBase\n\tat io.quarkus.it.resteasy.reactive.kotlin.CountriesGateway$$QuarkusRestClientInterfaceCreator.apply(Unknown Source)\n\tat org.jboss.resteasy.reactive.client.impl.ClientProxies.get(ClientProxies.java:36)\n\tat org.jboss.resteasy.reactive.client."[truncated 3554 chars]; line: 1, column: 1]

⚙️ Native Tests - HTTP #

- Failing: integration-tests/rest-client-reactive integration-tests/rest-client-reactive-multipart integration-tests/rest-client-reactive-stork and 1 more

📦 integration-tests/rest-client-reactive

Failed to execute goal io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:build (default) on project quarkus-integration-test-rest-client-reactive: Failed to build quarkus application

📦 integration-tests/rest-client-reactive-multipart

Failed to execute goal io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:build (default) on project quarkus-integration-test-rest-client-reactive-multipart: Failed to build quarkus application

📦 integration-tests/rest-client-reactive-stork

Failed to execute goal io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:build (default) on project quarkus-integration-test-rest-client-reactive-stork: Failed to build quarkus application

📦 integration-tests/resteasy-reactive-kotlin/standard

Failed to execute goal io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:build (default) on project quarkus-integration-test-resteasy-reactive-kotlin-standard: Failed to build quarkus application


⚙️ Native Tests - Misc4 #

- Failing: integration-tests/micrometer-prometheus 

📦 integration-tests/micrometer-prometheus

Failed to execute goal io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:build (default) on project quarkus-integration-test-micrometer-prometheus: Failed to build quarkus application


⚙️ Native Tests - Security2 #

- Failing: integration-tests/oidc-client-reactive 

📦 integration-tests/oidc-client-reactive

Failed to execute goal io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:build (default) on project quarkus-integration-test-oidc-client-reactive: Failed to build quarkus application

Path params, query params, cookie params and header params are supported with this change
@gsmet gsmet merged commit a9edea5 into quarkusio:main Dec 20, 2021
@quarkus-bot quarkus-bot bot added this to the 2.7 - main milestone Dec 20, 2021
@gsmet gsmet modified the milestones: 2.7 - main, 2.6.2.Final Jan 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ParamConverterProvider not being picked up Rest Client Reactive ignores ParamConverters for enums
4 participants