forked from chidambaranadig/openapi-generator
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[kotlin-wiremock] New generator for generating WireMock stubs using K…
…otlin (OpenAPITools#18705) * [kotlin] Target correct library in jvm-spring-webclient sample * [kotlin] Fixed warning in jvm-spring-restclient * [kotlin-wiremock] added generator and sample * [kotlin-wiremock] First version with petstore * [kotlin-wiremock] Small typo * [kotlin-wiremock] Added echo-api test * [kotlin-wiremock] Split stub and stub builder * [kotlin-wiremock] Added default values and jackson annotations to models * [kotlin-wiremock] Small default value fix * [kotlin-wiremock] Use Gradle wrapper version in samples-kotlin-server GitHub workflow * [kotlin-wiremock] Added default artifact name * [kotlin-wiremock] Added kotlin docs * [kotlin-wiremock] Fixed capitalization in kotlin docs * [kotlin-wiremock] Added kotlin-wiremock echo_api sample to GitHub workflow * [kotlin-wiremock] Added new generator to README.md * [kotlin-wiremock] Generated docs * [kotlin-wiremock] Generated docs (missed commit) * [kotlin-wiremock] Explicit Gradle wrapper version in kotlin server generators * Revert "[kotlin-wiremock] Explicit Gradle wrapper version in kotlin server generators" This reverts commit 71e1c47. * [kotlin-wiremock] Revert Gradle in workflow samples-kotlin-server and moved kotlin-wiremock samples to separate workflow * [kotlin-wiremock] Use Java 11 instead of Java 8 * [kotlin-wiremock] ensure-up-to-date
- Loading branch information
1 parent
9a35914
commit 2712035
Showing
78 changed files
with
5,930 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
name: Samples Kotlin WireMock | ||
|
||
on: | ||
push: | ||
branches: | ||
- samples/server/petstore/kotlin-wiremock/** | ||
- samples/server/echo_api/kotlin-wiremock/** | ||
pull_request: | ||
paths: | ||
- samples/server/petstore/kotlin-wiremock/** | ||
- samples/server/echo_api/kotlin-wiremock/** | ||
|
||
jobs: | ||
build: | ||
name: Build Kotlin WireMock | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
sample: | ||
- samples/server/petstore/kotlin-wiremock | ||
- samples/server/echo_api/kotlin-wiremock | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: 11 | ||
- name: Cache maven dependencies | ||
uses: actions/cache@v4 | ||
env: | ||
cache-name: maven-repository | ||
with: | ||
path: | | ||
~/.gradle | ||
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} | ||
- name: Install Gradle wrapper | ||
uses: eskatos/gradle-command-action@v3 | ||
with: | ||
build-root-directory: ${{ matrix.sample }} | ||
arguments: wrapper | ||
- name: Build | ||
working-directory: ${{ matrix.sample }} | ||
run: ./gradlew build -x test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
generatorName: kotlin-wiremock | ||
outputDir: samples/server/echo_api/kotlin-wiremock | ||
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/echo_api.yaml | ||
templateDir: modules/openapi-generator/src/main/resources/kotlin-wiremock |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
generatorName: kotlin-wiremock | ||
outputDir: samples/server/petstore/kotlin-wiremock | ||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml | ||
templateDir: modules/openapi-generator/src/main/resources/kotlin-wiremock |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,277 @@ | ||
--- | ||
title: Documentation for the kotlin-wiremock Generator | ||
--- | ||
|
||
## METADATA | ||
|
||
| Property | Value | Notes | | ||
| -------- | ----- | ----- | | ||
| generator name | kotlin-wiremock | pass this to the generate command after -g | | ||
| generator stability | BETA | | | ||
| generator type | SERVER | | | ||
| generator language | Kotlin | | | ||
| generator default templating engine | mustache | | | ||
| helpTxt | Generates Kotlin WireMock stub request and response samples. | | | ||
|
||
## CONFIG OPTIONS | ||
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details. | ||
|
||
| Option | Description | Values | Default | | ||
| ------ | ----------- | ------ | ------- | | ||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null| | ||
|apiSuffix|suffix for api classes| |Api| | ||
|artifactId|Generated artifact id (name of jar).| |null| | ||
|artifactVersion|Generated artifact's package version.| |1.0.0| | ||
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original| | ||
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools| | ||
|modelMutable|Create mutable models| |false| | ||
|packageName|Generated artifact package name.| |org.openapitools| | ||
|parcelizeModels|toggle "@Parcelize" for generated models| |null| | ||
|serializableModel|boolean - toggle "implements Serializable" for generated models| |null| | ||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |null| | ||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |null| | ||
|sourceFolder|source folder for generated code| |src/main/kotlin| | ||
|
||
## IMPORT MAPPING | ||
|
||
| Type/Alias | Imports | | ||
| ---------- | ------- | | ||
|BigDecimal|java.math.BigDecimal| | ||
|Date|java.time.LocalDate| | ||
|DateTime|java.time.OffsetDateTime| | ||
|File|java.io.File| | ||
|LocalDate|java.time.LocalDate| | ||
|LocalDateTime|java.time.LocalDateTime| | ||
|LocalTime|java.time.LocalTime| | ||
|Timestamp|java.sql.Timestamp| | ||
|URI|java.net.URI| | ||
|UUID|java.util.UUID| | ||
|
||
|
||
## INSTANTIATION TYPES | ||
|
||
| Type/Alias | Instantiated By | | ||
| ---------- | --------------- | | ||
|array|kotlin.collections.ArrayList| | ||
|list|kotlin.collections.ArrayList| | ||
|map|kotlin.collections.HashMap| | ||
|
||
|
||
## LANGUAGE PRIMITIVES | ||
|
||
<ul class="column-ul"> | ||
<li>kotlin.Array</li> | ||
<li>kotlin.Boolean</li> | ||
<li>kotlin.Byte</li> | ||
<li>kotlin.ByteArray</li> | ||
<li>kotlin.Char</li> | ||
<li>kotlin.Double</li> | ||
<li>kotlin.Float</li> | ||
<li>kotlin.Int</li> | ||
<li>kotlin.Long</li> | ||
<li>kotlin.Short</li> | ||
<li>kotlin.String</li> | ||
<li>kotlin.collections.List</li> | ||
<li>kotlin.collections.Map</li> | ||
<li>kotlin.collections.MutableList</li> | ||
<li>kotlin.collections.MutableMap</li> | ||
<li>kotlin.collections.MutableSet</li> | ||
<li>kotlin.collections.Set</li> | ||
</ul> | ||
|
||
## RESERVED WORDS | ||
|
||
<ul class="column-ul"> | ||
<li>ApiResponse</li> | ||
<li>abstract</li> | ||
<li>actual</li> | ||
<li>annotation</li> | ||
<li>as</li> | ||
<li>break</li> | ||
<li>class</li> | ||
<li>companion</li> | ||
<li>const</li> | ||
<li>constructor</li> | ||
<li>continue</li> | ||
<li>contract</li> | ||
<li>crossinline</li> | ||
<li>data</li> | ||
<li>delegate</li> | ||
<li>do</li> | ||
<li>dynamic</li> | ||
<li>else</li> | ||
<li>enum</li> | ||
<li>expect</li> | ||
<li>external</li> | ||
<li>false</li> | ||
<li>field</li> | ||
<li>final</li> | ||
<li>finally</li> | ||
<li>for</li> | ||
<li>fun</li> | ||
<li>if</li> | ||
<li>import</li> | ||
<li>in</li> | ||
<li>infix</li> | ||
<li>init</li> | ||
<li>inline</li> | ||
<li>inner</li> | ||
<li>interface</li> | ||
<li>internal</li> | ||
<li>is</li> | ||
<li>it</li> | ||
<li>lateinit</li> | ||
<li>noinline</li> | ||
<li>null</li> | ||
<li>object</li> | ||
<li>open</li> | ||
<li>operator</li> | ||
<li>out</li> | ||
<li>override</li> | ||
<li>package</li> | ||
<li>param</li> | ||
<li>private</li> | ||
<li>property</li> | ||
<li>protected</li> | ||
<li>public</li> | ||
<li>receiver</li> | ||
<li>reified</li> | ||
<li>return</li> | ||
<li>sealed</li> | ||
<li>setparam</li> | ||
<li>super</li> | ||
<li>suspend</li> | ||
<li>tailrec</li> | ||
<li>this</li> | ||
<li>throw</li> | ||
<li>true</li> | ||
<li>try</li> | ||
<li>typealias</li> | ||
<li>typeof</li> | ||
<li>val</li> | ||
<li>value</li> | ||
<li>var</li> | ||
<li>vararg</li> | ||
<li>when</li> | ||
<li>where</li> | ||
<li>while</li> | ||
</ul> | ||
|
||
## FEATURE SET | ||
|
||
|
||
### Client Modification Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|BasePath|✗|ToolingExtension | ||
|Authorizations|✗|ToolingExtension | ||
|UserAgent|✗|ToolingExtension | ||
|MockServer|✗|ToolingExtension | ||
|
||
### Data Type Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Custom|✗|OAS2,OAS3 | ||
|Int32|✓|OAS2,OAS3 | ||
|Int64|✓|OAS2,OAS3 | ||
|Float|✓|OAS2,OAS3 | ||
|Double|✓|OAS2,OAS3 | ||
|Decimal|✓|ToolingExtension | ||
|String|✓|OAS2,OAS3 | ||
|Byte|✓|OAS2,OAS3 | ||
|Binary|✓|OAS2,OAS3 | ||
|Boolean|✓|OAS2,OAS3 | ||
|Date|✓|OAS2,OAS3 | ||
|DateTime|✓|OAS2,OAS3 | ||
|Password|✓|OAS2,OAS3 | ||
|File|✓|OAS2 | ||
|Uuid|✗| | ||
|Array|✓|OAS2,OAS3 | ||
|Null|✗|OAS3 | ||
|AnyType|✗|OAS2,OAS3 | ||
|Object|✓|OAS2,OAS3 | ||
|Maps|✓|ToolingExtension | ||
|CollectionFormat|✓|OAS2 | ||
|CollectionFormatMulti|✓|OAS2 | ||
|Enum|✓|OAS2,OAS3 | ||
|ArrayOfEnum|✓|ToolingExtension | ||
|ArrayOfModel|✓|ToolingExtension | ||
|ArrayOfCollectionOfPrimitives|✓|ToolingExtension | ||
|ArrayOfCollectionOfModel|✓|ToolingExtension | ||
|ArrayOfCollectionOfEnum|✓|ToolingExtension | ||
|MapOfEnum|✓|ToolingExtension | ||
|MapOfModel|✓|ToolingExtension | ||
|MapOfCollectionOfPrimitives|✓|ToolingExtension | ||
|MapOfCollectionOfModel|✓|ToolingExtension | ||
|MapOfCollectionOfEnum|✓|ToolingExtension | ||
|
||
### Documentation Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Readme|✗|ToolingExtension | ||
|Model|✓|ToolingExtension | ||
|Api|✓|ToolingExtension | ||
|
||
### Global Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Host|✓|OAS2,OAS3 | ||
|BasePath|✓|OAS2,OAS3 | ||
|Info|✓|OAS2,OAS3 | ||
|Schemes|✗|OAS2,OAS3 | ||
|PartialSchemes|✓|OAS2,OAS3 | ||
|Consumes|✓|OAS2 | ||
|Produces|✓|OAS2 | ||
|ExternalDocumentation|✓|OAS2,OAS3 | ||
|Examples|✓|OAS2,OAS3 | ||
|XMLStructureDefinitions|✗|OAS2,OAS3 | ||
|MultiServer|✗|OAS3 | ||
|ParameterizedServer|✗|OAS3 | ||
|ParameterStyling|✗|OAS3 | ||
|Callbacks|✓|OAS3 | ||
|LinkObjects|✗|OAS3 | ||
|
||
### Parameter Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Path|✓|OAS2,OAS3 | ||
|Query|✓|OAS2,OAS3 | ||
|Header|✓|OAS2,OAS3 | ||
|Body|✓|OAS2 | ||
|FormUnencoded|✓|OAS2 | ||
|FormMultipart|✓|OAS2 | ||
|Cookie|✓|OAS3 | ||
|
||
### Schema Support Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Simple|✓|OAS2,OAS3 | ||
|Composite|✓|OAS2,OAS3 | ||
|Polymorphism|✓|OAS2,OAS3 | ||
|Union|✗|OAS3 | ||
|allOf|✗|OAS2,OAS3 | ||
|anyOf|✗|OAS3 | ||
|oneOf|✗|OAS3 | ||
|not|✗|OAS3 | ||
|
||
### Security Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|BasicAuth|✓|OAS2,OAS3 | ||
|ApiKey|✓|OAS2,OAS3 | ||
|OpenIDConnect|✗|OAS3 | ||
|BearerToken|✓|OAS3 | ||
|OAuth2_Implicit|✓|OAS2,OAS3 | ||
|OAuth2_Password|✓|OAS2,OAS3 | ||
|OAuth2_ClientCredentials|✓|OAS2,OAS3 | ||
|OAuth2_AuthorizationCode|✓|OAS2,OAS3 | ||
|SignatureAuth|✗|OAS3 | ||
|AWSV4Signature|✗|ToolingExtension | ||
|
||
### Wire Format Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|JSON|✓|OAS2,OAS3 | ||
|XML|✓|OAS2,OAS3 | ||
|PROTOBUF|✗|ToolingExtension | ||
|Custom|✗|OAS2,OAS3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.