Uploaded image for project: 'WildFly WIP'
  1. WildFly WIP
  2. WFWIP-688

MicroProfile OpenAPI and multiple deployments: an identical operation is not documented correclty based on each deployment that declares it

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • MP OpenAPI
    • None
    • Hide

      build the WildFly feature branch snapshot from https://github.com/pferraro/wildfly/tree/openapi

      • git clone git@github.com:fabiobrz/eap-microprofile-test-suite.git
      • cd eap-microprofile-test-suite
      • git checkout issue-344.mp-openapi-multi-war
      • run MultipleDeploymentsHybridDocumentationTest, i.e. ./mvnw clean verify -pl microprofile-open-api -Djboss.dist=<WILDFLY_SNAPSHOT_BUILD_DIRECTORY> -Dtest=Multi*Hybrid*
      Show
      build the WildFly feature branch snapshot from https://github.com/pferraro/wildfly/tree/openapi git clone git@github.com:fabiobrz/eap-microprofile-test-suite.git cd eap-microprofile-test-suite git checkout issue-344.mp-openapi-multi-war run MultipleDeploymentsHybridDocumentationTest , i.e. ./mvnw clean verify -pl microprofile-open-api -Djboss.dist=<WILDFLY_SNAPSHOT_BUILD_DIRECTORY> -Dtest=Multi*Hybrid*
    • User Experience

      One test deploys the following 3 applications:

      • a Service Provider, which implements an actual backend to fulfill client calls - OpenAPI annotation scan is disabled here
      • a local Service Router, which routes client REST API calls to the Service Provider (via MicroProfile REST Client) - a static OpenAPI document is provided and an OASFilter implementation would modify an operation extension property to set its FQDN (local.test.district.unknown)
      • another local Service Router, which routes client REST API calls to the Service Provider (via MicroProfile REST Client) - the same static OpenAPI document is provided and an OASFilter implementation would modify an operation extension property to set its FQDN (another.local.test.district.unknown)

      The extension property value is set to local.test.district.unknown while there should be two different operations where it is set based on the modification that each application OASFilter instance has performed.

      Another example: there 2 applications being documented at /context1 and /context2
      Application 1 defines /path1 and /path2, while application 2 only defines /path1.
      Given how things are documented currently, it is not clear which url to use for the service at /path2, and /context2/path2 would return a 404.

              pferraro@redhat.com Paul Ferraro
              fburzigo@redhat.com Fabio Burzigotti
              Fabio Burzigotti Fabio Burzigotti
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: