Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Merge requests
  • !12871

Fix petstore fake endpoints to use https

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/thomasphansen/th_fix_petstore_fake_endpoints_to_use_https into master Jul 14, 2022
  • Overview 6
  • Commits 12
  • Pipelines 0
  • Changes 184

Created by: thomasphansen

Running tests for the PHP client against the petstore API has been failing for years. There are two main reasons for that:

  1. Client was missing CORS headers; and
  2. The petstore API is redirecting http calls to https, resulting in a 302 response which the tests could not handle.

This PR fixes both issues, by:

  1. Changing the petstore-with-fake-endpoints-models-for-testing.yaml to use https instead of http
  2. Fixing the tests in the samples folder accordingly

The big issue is, this yaml file is used by other clients:

  • c-sharp
  • c-sharp netcore
  • dart (dart2 and dart-dio)
  • exilir
  • java (feign, jersey2, jersey3 and webclient)
  • perl
  • php
  • python (legacy and experimental)
  • ruby (and ruby faraday)
  • typescript (axios and fetch)

Some of these clients have tests that can be run. I was able to successfully run the ones for the following languages:

  • elixir
  • perl (after fixing a minor bug in the test file)
  • php
  • python experimental

Unfortunately, I don't have the proficiency (and/or the time) to go through all the clients and test them, so I did it only for the ones above.

I don't know if the OpenAPI-Generator CI runs these tests - if it does, then any fail will appear during the tests. Otherwise, I hope some developers from the remaining languages can take a look and see if anything is broken.... 😄

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package 
    ./bin/generate-samples.sh
    ./bin/utils/export_docs_generators.sh
    Commit all changed files. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master (6.1.0) (minor release - breaking changes with fallbacks), 7.0.x (breaking changes without fallbacks)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.
    • C-Sharp: @mandrean @frankyjuang @shibayan @Blackclaws @lucamazzanti
    • Dart: @jaumard @josh-burton @amondnet @sbu-WBT @kuhnroyal @agilob @ahmednfwela
    • Elixir: @mrmstn
    • Java: @bbdouglas @sreeshas @jfiala @lukoyanov @cbornet @jeff9finger @karismann @Zomzog @lwlee2608
    • Perl: @wing328 @yue9944882
    • PHP: @jebentier, @dkarlovi, @mandrean, @jfastnacht, @ybelenko, @renepardon
    • Python: @taxpon @frol @mbohlool @cbornet @kenjones-cisco @tomplus @arun-nalla @spacether
    • Ruby: @cliffano @zlx @autopp
    • Typescript: @TiFu @taxpon @sebastianhaas @kenisteward @Vrolijkx @macjohnny @topce @akehir @petejohansonxo @amakhrov @davidgamero @mkusaka
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/thomasphansen/th_fix_petstore_fake_endpoints_to_use_https