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

Add a test plan for QUARKUS-2148 #82

Merged
merged 1 commit into from
Jun 17, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions QUARKUS-2148.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# QUARKUS-2148 - Add support for sending query params as using a Map in Reactive Rest Client

JIRA link: https://issues.redhat.com/browse/QUARKUS-2148

PR: https://github.com/quarkusio/quarkus/pull/24783

Upstream issue: https://github.com/quarkusio/quarkus/issues/24764


The REST Client Reactive now supports passing query parameters as map. This can be very useful if query parameters are not known
in advance. For primitive data types and Java classes that are not a `Map` implementation, `@RestQuery` annotation still resolves
query key from `@RestQuery#value()`, or from a formal parameter name. Each `Map.Entry` represent a key and value of a query parameter.
Query parameters whose values are arrays can be passed as a `MultivaluedMap`;

## Scope of the testing

Tests should verify:
- User is able to pass query parameters as map.
- Primitive and complex data types and arrays can be sent.
- Multiple query parameter maps can be specified.
- Query parameter map works in a native mode.

### Impact on testsuites and testing automation:

New scenario is going to be added to the `http/rest-client-reactive` module of Quarkus Test suite. One test method is
going to be needed as well as respective endpoint that handles dynamic number of query parameters. All verifications can be done
with one call as `@RestQuery` is repeatable.

### Impact on resources:

- No additional requirements for resources in lab
- Required additional time for the test execution should be below 4 seconds
- No measurable additional requirements for a Native image scenario

## Getting familiar with the feature

Following actions were taken to ensure familiarity:
- Ensure documentation provides clear explanation on configuration options
- Ensure good user experience and simplicity of use

## Advanced topics for test development

- No advanced topics found

## Contacts

* Tester: Michal Vavřík <[email protected]>

## References

- [USING THE REST CLIENT REACTIVE](https://quarkus.io/guides/rest-client-reactive)
- [Accessing request parameters](https://quarkus.io/guides/resteasy-reactive#accessing-request-parameters)
- [URI query parameters](https://datatracker.ietf.org/doc/html/rfc3986#section-3.4)