Skip to content

Commit 4bf5a0e

Browse files
committed
add unit tests & regenerate files
1 parent df24bef commit 4bf5a0e

9 files changed

Lines changed: 51 additions & 0 deletions

File tree

modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinClientCodegenModelTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,6 +649,10 @@ public void polymorphicJacksonSerialization() throws IOException {
649649
// base properties are present
650650
TestUtils.assertFileContains(animalKt, "val id");
651651
TestUtils.assertFileContains(animalKt, "val optionalProperty");
652+
// base array with unique items = false is correctly handled as List
653+
TestUtils.assertFileContains(animalKt, "val stringArray: kotlin.collections.List<kotlin.String>");
654+
// base array with unique items = true is correctly handled as Set
655+
TestUtils.assertFileContains(animalKt, "val stringSet: kotlin.collections.Set<kotlin.String>");
652656
// base doesn't contain discriminator
653657
TestUtils.assertFileNotContains(animalKt, "val discriminator");
654658

@@ -658,6 +662,10 @@ public void polymorphicJacksonSerialization() throws IOException {
658662
// derived properties are overridden
659663
TestUtils.assertFileContains(birdKt, "override val id");
660664
TestUtils.assertFileContains(birdKt, "override val optionalProperty");
665+
// derived array with unique items = false is correctly handled as List and with override
666+
TestUtils.assertFileContains(birdKt, "override val stringArray: kotlin.collections.List<kotlin.String>");
667+
// derived array with unique items = true is correctly handled as Set and with override
668+
TestUtils.assertFileContains(birdKt, "override val stringSet: kotlin.collections.Set<kotlin.String>");
661669
// derived doesn't contain disciminator
662670
TestUtils.assertFileNotContains(birdKt, "val discriminator");
663671
}

modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinSpringServerCodegenTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ public void polymorphicJacksonSerialization() throws IOException {
8989
// base properties are present
9090
TestUtils.assertFileContains(animalKt, "val id");
9191
TestUtils.assertFileContains(animalKt, "val optionalProperty");
92+
TestUtils.assertFileContains(animalKt, "val stringArray: kotlin.collections.List<kotlin.String>");
93+
TestUtils.assertFileContains(animalKt, "val stringSet: kotlin.collections.Set<kotlin.String>");
9294
// base doesn't contain discriminator
9395
TestUtils.assertFileNotContains(animalKt, "val discriminator");
9496

@@ -98,6 +100,8 @@ public void polymorphicJacksonSerialization() throws IOException {
98100
// derived properties are overridden
99101
TestUtils.assertFileContains(birdKt, "override val id");
100102
TestUtils.assertFileContains(birdKt, "override val optionalProperty");
103+
TestUtils.assertFileContains(birdKt, "override val stringArray: kotlin.collections.List<kotlin.String>");
104+
TestUtils.assertFileContains(birdKt, "override val stringSet: kotlin.collections.Set<kotlin.String>");
101105
// derived doesn't contain disciminator
102106
TestUtils.assertFileNotContains(birdKt, "val discriminator");
103107
}

modules/openapi-generator/src/test/resources/3_0/kotlin/polymorphism.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,19 @@ components:
4141
format: uuid
4242
optional_property:
4343
type: number
44+
stringSet:
45+
type: array
46+
items:
47+
type: string
48+
uniqueItems: true
49+
stringArray:
50+
type: array
51+
items:
52+
type: string
4453
required:
4554
- id
55+
- string_set
56+
- string_array
4657
discriminator:
4758
propertyName: discriminator
4859
mapping:

samples/client/petstore/kotlin-allOf-discriminator-kotlinx-serialization/docs/Animal.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
| Name | Type | Description | Notes |
66
| ------------ | ------------- | ------------- | ------------- |
77
| **id** | [**java.util.UUID**](java.util.UUID.md) | | |
8+
| **stringSet** | **kotlin.collections.Set&lt;kotlin.String&gt;** | | |
9+
| **stringArray** | **kotlin.collections.List&lt;kotlin.String&gt;** | | |
810
| **optionalProperty** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |
911

1012

samples/client/petstore/kotlin-allOf-discriminator-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Animal.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ import kotlinx.serialization.json.JsonClassDiscriminator
3131
*
3232
*
3333
* @param id
34+
* @param stringSet
35+
* @param stringArray
3436
* @param optionalProperty
3537
*/
3638
@Serializable
@@ -42,6 +44,10 @@ sealed class Animal {
4244

4345
@Contextual @SerialName(value = "id")
4446
abstract val id: java.util.UUID
47+
@SerialName(value = "string_set")
48+
abstract val stringSet: kotlin.collections.Set<kotlin.String>
49+
@SerialName(value = "string_array")
50+
abstract val stringArray: kotlin.collections.List<kotlin.String>
4551
@Contextual @SerialName(value = "optional_property")
4652
abstract val optionalProperty: java.math.BigDecimal?
4753

samples/client/petstore/kotlin-allOf-discriminator-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Bird.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ import kotlinx.serialization.encoding.Encoder
3030
*
3131
*
3232
* @param id
33+
* @param stringSet
34+
* @param stringArray
3335
* @param featherType
3436
* @param optionalProperty
3537
*/
@@ -41,6 +43,12 @@ data class Bird (
4143
@Contextual @SerialName(value = "id")
4244
override val id: java.util.UUID,
4345

46+
@SerialName(value = "string_set")
47+
override val stringSet: kotlin.collections.Set<kotlin.String>,
48+
49+
@SerialName(value = "string_array")
50+
override val stringArray: kotlin.collections.List<kotlin.String>,
51+
4452
@SerialName(value = "featherType")
4553
val featherType: kotlin.String,
4654

samples/client/petstore/kotlin-multiplatform-allOf-discriminator/docs/Animal.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
| Name | Type | Description | Notes |
66
| ------------ | ------------- | ------------- | ------------- |
77
| **id** | **kotlin.String** | | |
8+
| **stringSet** | **kotlin.collections.Set&lt;kotlin.String&gt;** | | |
9+
| **stringArray** | **kotlin.collections.List&lt;kotlin.String&gt;** | | |
810
| **optionalProperty** | **kotlin.Double** | | [optional] |
911

1012

samples/client/petstore/kotlin-multiplatform-allOf-discriminator/src/commonMain/kotlin/org/openapitools/client/models/Animal.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ import kotlinx.serialization.json.JsonClassDiscriminator
2525
*
2626
*
2727
* @param id
28+
* @param stringSet
29+
* @param stringArray
2830
* @param optionalProperty
2931
*/
3032
@Serializable
@@ -35,6 +37,8 @@ import kotlinx.serialization.json.JsonClassDiscriminator
3537
sealed class Animal {
3638

3739
@SerialName(value = "id") @Required abstract val id: kotlin.String
40+
@SerialName(value = "string_set") @Required abstract val stringSet: kotlin.collections.Set<kotlin.String>
41+
@SerialName(value = "string_array") @Required abstract val stringArray: kotlin.collections.List<kotlin.String>
3842
@SerialName(value = "optional_property") abstract val optionalProperty: kotlin.Double?
3943

4044
}

samples/client/petstore/kotlin-multiplatform-allOf-discriminator/src/commonMain/kotlin/org/openapitools/client/models/Bird.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ import kotlinx.serialization.encoding.*
2525
*
2626
*
2727
* @param id
28+
* @param stringSet
29+
* @param stringArray
2830
* @param featherType
2931
* @param optionalProperty
3032
*/
@@ -35,6 +37,10 @@ data class Bird (
3537

3638
@SerialName(value = "id") @Required override val id: kotlin.String,
3739

40+
@SerialName(value = "string_set") @Required override val stringSet: kotlin.collections.Set<kotlin.String>,
41+
42+
@SerialName(value = "string_array") @Required override val stringArray: kotlin.collections.List<kotlin.String>,
43+
3844
@SerialName(value = "featherType") @Required val featherType: kotlin.String,
3945

4046
@SerialName(value = "optional_property") override val optionalProperty: kotlin.Double? = null

0 commit comments

Comments
 (0)