Closed fabiobrz closed 4 years ago
MP OpenAPI specs (again)
negative scenario - multiple yamls (?) => test needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_location_and_formats
complex scenario - mixed approach to doc build process => tests needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_processing_rules
complex scenario - multi-deployment, specifically EAR => multiple YAMLs? => tests needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_multiple_applications and Wildfly proposal
server
/pathItem
=> test needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_context_root_behavior
Accept
header + format
query string param => test(s) needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_content_format and https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_query_parameters
integration with MP Rest Client => test needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_microprofile_rest_client
Look at Google Group + Zulip for new ideas
Looking at forks - istraka
negative scenario - Accept header + format query string param => test(s) needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_content_format and https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_query_parameters
Test opportunity: test for sending wrong values for format and Accept
header to verify expected results.
negative scenario - multiple yamls (?) => test needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_location_and_formats TBD as the spec does not mandate vendor implementation
complex scenario - mixed approach to doc build process => tests needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_processing_rules Done this is the real life scenario implemented in advanced section, see #15
complex scenario - multi-deployment, specifically EAR => multiple YAMLs? => tests needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_multiple_applications and Wildfly proposal N/A as Wildfly TS already tests for multiple/sub deployments
server/pathItem => test needed, see https://download.eclipse.org/microprofile/microprofile-open-api-1.1.2/microprofile-openapi-spec.html#_context_root_behavior TBD although Wildfly TS already tests for auto generated servers, an operation could override generated values. What are we expecting for?
experiments with Quarkus, Thorntail, OpenLiberty etc.
Done using OpenLiberty start guide on OpenAPI, [1].
Application was built and executed through OpenLiberty, Wildfly feature branch dist and Thorntail.
Output of document returned by /openapi
endpoint was saved and diff showed:
explode: false
property for a parameter
object which the spec defined not mandatory, see [2] and a additionalPropertiesSchema
property which is not defined by the spec at the moment.Finally the Wildfly generated document was used as source for third-party tool validation at https://editor.swagger.io/.
All of the above controls status is now GREEN.
[1] https://openliberty.io/guides/microprofile-openapi.html
[2] https://github.com/OAI/OpenAPI-Specification/blob/3.0.2/versions/3.0.0.md#parameter-object
TD - Sketch MP OpenAPI test application to demonstrate tests as per TP: