Skip to content

Commit 3db916b

Browse files
committed
update integration test structure
1 parent 58c210d commit 3db916b

44 files changed

Lines changed: 141 additions & 83 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/testInt/kotlin/io/openapiprocessor/spring/ProcessorEndToEndJimfsSpec.kt

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import io.kotest.core.spec.style.StringSpec
1111
import io.kotest.matchers.booleans.shouldBeTrue
1212
import io.openapiprocessor.core.parser.ParserType
1313
import io.openapiprocessor.test.FileSupport
14+
import io.openapiprocessor.test.ModelTypes
1415
import io.openapiprocessor.test.TestSet
1516
import io.openapiprocessor.test.TestSetRunner
1617

@@ -37,16 +38,24 @@ private fun sources(): Collection<TestSet> {
3738
// the swagger parser does not work with a custom FileSystem
3839

3940
val openapi4j = ALL_30.map {
40-
testSet(it.name, ParserType.OPENAPI4J, it.openapi)
41+
testSet(it.name, ParserType.OPENAPI4J, it.openapi, model = "default", outputs = it.outputs, expected = it.expected)
4142
}
4243

4344
val openapi30 = ALL_30.map {
44-
testSet(it.name, ParserType.INTERNAL, it.openapi)
45+
testSet(it.name, ParserType.INTERNAL, it.openapi, model = "default", outputs = it.outputs, expected = it.expected)
4546
}
4647

4748
val openapi31 = ALL_31.map {
48-
testSet(it.name, ParserType.INTERNAL, it.openapi)
49+
testSet(it.name, ParserType.INTERNAL, it.openapi, model = "default", outputs = it.outputs, expected = it.expected)
4950
}
5051

51-
return openapi4j + openapi30 + openapi31
52+
val openapi30r = ALL_30.filter { it.modelTypes.contains(ModelTypes.RECORD) }.map {
53+
testSet(it.name, ParserType.INTERNAL, it.openapi, model = "record", outputs = it.outputs, expected = it.expected)
54+
}
55+
56+
val openapi31r = ALL_31.filter { it.modelTypes.contains(ModelTypes.RECORD) }.map {
57+
testSet(it.name, ParserType.INTERNAL, it.openapi, model = "record", outputs = it.outputs, expected = it.expected)
58+
}
59+
60+
return openapi4j + openapi30 + openapi31 + openapi30r + openapi31r
5261
}

src/testInt/kotlin/io/openapiprocessor/spring/ProcessorEndToEndSpec.kt

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import io.kotest.engine.spec.tempdir
1010
import io.kotest.matchers.booleans.shouldBeTrue
1111
import io.openapiprocessor.core.parser.ParserType
1212
import io.openapiprocessor.test.FileSupport
13+
import io.openapiprocessor.test.ModelTypes
1314
import io.openapiprocessor.test.TestSet
1415
import io.openapiprocessor.test.TestSetRunner
1516

@@ -31,25 +32,32 @@ class ProcessorEndToEndSpec: StringSpec({
3132
.shouldBeTrue()
3233
}
3334
}
34-
3535
})
3636

3737
private fun sources(): Collection<TestSet> {
3838
val swagger = ALL_30.map {
39-
testSet(it.name, ParserType.SWAGGER, it.openapi)
39+
testSet(it.name, ParserType.SWAGGER, it.openapi, model = "default", outputs = it.outputs, expected = it.expected)
4040
}
4141

4242
val openapi4j = ALL_30.map {
43-
testSet(it.name, ParserType.OPENAPI4J, it.openapi)
43+
testSet(it.name, ParserType.OPENAPI4J, it.openapi, model = "default", outputs = it.outputs, expected = it.expected)
4444
}
4545

4646
val openapi30 = ALL_30.map {
47-
testSet(it.name, ParserType.INTERNAL, it.openapi)
47+
testSet(it.name, ParserType.INTERNAL, it.openapi, model = "default", outputs = it.outputs, expected = it.expected)
4848
}
4949

5050
val openapi31 = ALL_31.map {
51-
testSet(it.name, ParserType.INTERNAL, it.openapi)
51+
testSet(it.name, ParserType.INTERNAL, it.openapi, model = "default", outputs = it.outputs, expected = it.expected)
52+
}
53+
54+
val openapi30r = ALL_30.filter { it.modelTypes.contains(ModelTypes.RECORD) }.map {
55+
testSet(it.name, ParserType.INTERNAL, it.openapi, model = "record", outputs = it.outputs, expected = it.expected)
56+
}
57+
58+
val openapi31r = ALL_31.filter { it.modelTypes.contains(ModelTypes.RECORD) }.map {
59+
testSet(it.name, ParserType.INTERNAL, it.openapi, model = "record", outputs = it.outputs, expected = it.expected)
5260
}
5361

54-
return swagger + openapi4j + openapi30 + openapi31
62+
return swagger + openapi4j + openapi30 + openapi31 + openapi30r + openapi31r
5563
}

src/testInt/kotlin/io/openapiprocessor/spring/ProcessorPendingSpec.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ import io.kotest.core.spec.style.StringSpec
99
import io.kotest.engine.spec.tempdir
1010
import io.kotest.matchers.booleans.shouldBeTrue
1111
import io.openapiprocessor.core.parser.ParserType.INTERNAL
12-
import io.openapiprocessor.test.FileSupport
12+
import io.openapiprocessor.test.*
13+
import io.openapiprocessor.test.API_30
1314
import io.openapiprocessor.test.TestSet
14-
import io.openapiprocessor.test.TestSetRunner
1515

1616
/**
1717
* helper to run selected integration tests.
1818
*/
1919
class ProcessorPendingSpec: StringSpec({
2020

2121
for (testSet in sources()) {
22-
"native - $testSet".config(enabled = false) {
22+
"native - $testSet".config(enabled = true) {
2323
val folder = tempdir()
2424

2525
val support = FileSupport(
@@ -35,7 +35,8 @@ class ProcessorPendingSpec: StringSpec({
3535

3636
private fun sources(): Collection<TestSet> {
3737
return listOf(
38-
testSet("params-request-body-multipart-mapping", INTERNAL, API_30),
39-
testSet("params-request-body-multipart-mapping", INTERNAL, API_31)
38+
testSet("endpoint-http-mapping", INTERNAL, API_30, model = "record", outputs = "outputs.yaml", expected = "outputs"),
39+
// testSet("params-request-body-multipart-mapping", INTERNAL, API_30, model = "default", outputs = "outputs.yaml", expected = "outputs"),
40+
// testSet("params-request-body-multipart-mapping", INTERNAL, API_31, model = "default", outputs = "outputs.yaml", expected = "outputs")
4041
)
4142
}

src/testInt/kotlin/io/openapiprocessor/spring/ProcessorTestSets.kt

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,28 @@
55

66
package io.openapiprocessor.spring
77

8+
import io.openapiprocessor.test.*
9+
810
data class TestSet(val name: String, val openapi: String)
911

10-
val ALL_30: List<TestSet> = listOf(
11-
TestSet("endpoint-http-mapping", API_30),
12-
TestSet("params-complex-data-types", API_30),
13-
TestSet("params-pageable-mapping", API_30),
14-
TestSet("params-path-simple-data-types", API_30),
15-
TestSet("params-query-annotate-simple-mapping", API_30),
16-
TestSet("params-request-body", API_30),
17-
TestSet("params-request-body-multipart-mapping", API_30),
18-
TestSet("params-simple-data-types", API_30)
12+
val ALL_30: List<TestParams> = listOf(
13+
test30_D_("endpoint-http-mapping"),
14+
test30_DR("params-complex-data-types"),
15+
test30_D_("params-pageable-mapping"),
16+
test30_D_("params-path-simple-data-types"),
17+
test30_D_("params-query-annotate-simple-mapping"),
18+
test30_DR("params-request-body"),
19+
test30_D_("params-request-body-multipart-mapping"),
20+
test30_D_("params-simple-data-types")
1921
)
2022

21-
val ALL_31: List<TestSet> = listOf(
22-
TestSet("endpoint-http-mapping", API_31),
23-
TestSet("params-complex-data-types", API_31),
24-
TestSet("params-pageable-mapping", API_31),
25-
TestSet("params-path-simple-data-types", API_31),
26-
TestSet("params-query-annotate-simple-mapping", API_31),
27-
TestSet("params-request-body", API_31),
28-
TestSet("params-request-body-multipart-mapping", API_31),
29-
TestSet("params-simple-data-types", API_31)
23+
val ALL_31: List<TestParams> = listOf(
24+
test31_D_("endpoint-http-mapping"),
25+
test31_DR("params-complex-data-types"),
26+
test31_D_("params-pageable-mapping"),
27+
test31_D_("params-path-simple-data-types"),
28+
test31_D_("params-query-annotate-simple-mapping"),
29+
test31_DR("params-request-body"),
30+
test31_DR("params-request-body-multipart-mapping"),
31+
test31_D_("params-simple-data-types")
3032
)

src/testInt/kotlin/io/openapiprocessor/spring/ProcessorTestSetsSupport.kt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,24 @@ import io.openapiprocessor.core.parser.ParserType
99
import io.openapiprocessor.spring.processor.SpringServiceV2
1010
import io.openapiprocessor.test.TestSet
1111

12-
13-
const val API_30 = "openapi30.yaml"
14-
const val API_31 = "openapi31.yaml"
15-
16-
1712
@Suppress("SameParameterValue")
1813
fun testSet(
1914
name: String,
2015
parser: ParserType,
2116
openapi: String = "openapi.yaml",
17+
model: String = "default",
2218
inputs: String = "inputs.yaml",
23-
generated: String = "generated.yaml"): TestSet {
24-
25-
val processor = SpringServiceV2(testMode = true)
26-
19+
outputs: String = "generated.yaml",
20+
expected: String = "generated"
21+
): TestSet {
2722
val testSet = TestSet()
2823
testSet.name = name
29-
testSet.processor = processor
24+
testSet.processor = SpringServiceV2(testMode = true)
3025
testSet.parser = parser.name
26+
testSet.modelType = model
3127
testSet.openapi = openapi
3228
testSet.inputs = inputs
33-
testSet.outputs = generated
29+
testSet.outputs = outputs
30+
testSet.expected = expected
3431
return testSet
3532
}

src/testInt/resources/tests/endpoint-http-mapping/generated.yaml

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
openapi-processor-mapping: v2
1+
openapi-processor-mapping: v4
22

33
options:
44
package-name: generated
5+
format-code: false
6+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
items:
2+
- outputs/api/EndpointApi.java

src/testInt/resources/tests/endpoint-http-mapping/generated/api/EndpointApi.java renamed to src/testInt/resources/tests/endpoint-http-mapping/outputs/api/EndpointApi.java

File renamed without changes.

src/testInt/resources/tests/params-complex-data-types/generated.yaml

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)