-
-
Notifications
You must be signed in to change notification settings - Fork 6.4k
Integration Tests
To run integration test for an API client or server stub, go to the sample directory which contains pom.xml
and then run mvn integration-test
.
To identify API client or server stub tests with pom.xml, run find samples -name "pom.xml"
under Mac/Linux.
CI | Config | Tests covered |
---|---|---|
Travis | .travis.yml | RubyJavaScript, PHP, Python, TypeScript, Haskell, C++, Elm, Groovy, etc |
Shippable | shippable.yml | Mustache templates, Elixir, Erlang (client, server), Kotlin, etc |
AppVeyor | appveyor.yml | C# (clients), PowerShell |
CircleCI | circle.yml | Go, TypeScript Angular6, Clojure, Java (clients, servers), Scala, Kotlin with JDK7, JDK8, etc |
drone.io | .drone.yml | JDK11 test, OCaml client, etc |
bitrise.io | bitrise.yml | Swift 4, 5 |
1. Create pom.xml in the sample directory
Let's say the new sample folder is openapi-generator/samples/client/petstore/ruby/
. We will need to create pom.xml used by Maven to execute commands for testing the Ruby Petstore client.
- artifactId must be unique
- use exec-maven-plugin to execute commmands (bundle install --path vendor/bundle, bundle exec rspec)
To test it locally, please run mvn integration-test
2. Update root-level pom.xml to include the new directory
Please update pom.xml.
For example, search for "ruby" in pom.xml to see how the Ruby petstore folder is added.
3. Run the test server locally
To setup the test server locally, please run
docker pull swaggerapi/petstore
docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
and add the following entry to your host table:
127.0.0.1 petstore.swagger.io