@@ -7,6 +7,7 @@ package io.openapiprocessor.core.processor.mapping.v2
77
88import io.kotest.core.spec.IsolationMode
99import io.kotest.core.spec.style.StringSpec
10+ import io.kotest.data.Row1
1011import io.kotest.data.blocking.forAll
1112import io.kotest.data.row
1213import io.kotest.matchers.booleans.shouldBeFalse
@@ -22,28 +23,21 @@ private fun String.fromResource(): String {
2223 .decodeToString()
2324}
2425
26+ const val latestMapping: Int = 15
27+
28+ private fun createMappingRows (): Array <Row1 <String >> {
29+ return 2 .rangeTo(latestMapping).map {
30+ row(" v$it " )
31+ }.toTypedArray()
32+ }
33+
2534class MappingValidatorSpec : StringSpec ({
2635 isolationMode = IsolationMode .InstancePerTest
2736
2837 val validator = MappingValidator ()
2938
3039 " validates mapping.yaml with matching schema version" {
31- forAll(
32- row("v2"),
33- row("v2.1"),
34- row("v3"),
35- row("v4"),
36- row("v5"),
37- row("v6"),
38- row("v7"),
39- row("v8"),
40- row("v9"),
41- row("v10"),
42- row("v11"),
43- row("v12"),
44- row("v13"),
45- row("v14"),
46- ) { v ->
40+ forAll(*createMappingRows()) { v ->
4741 val yaml = """
4842 |openapi-processor-mapping: $v
4943 |
@@ -110,60 +104,10 @@ class MappingValidatorSpec: StringSpec({
110104 output.isValid.shouldBeTrue()
111105 }
112106
113- " validates example mapping v2.1" {
114- validator.validate("/mapping/v2.1/mapping.example.yaml".fromResource(), "v2.1").isValid.shouldBeTrue()
115- }
116-
117- " validates example mapping v3" {
118- validator.validate("/mapping/v3/mapping.example.yaml".fromResource(), "v3").isValid.shouldBeTrue()
119- }
120-
121- " validates example mapping v4" {
122- validator.validate("/mapping/v4/mapping.example.yaml".fromResource(), "v4").isValid.shouldBeTrue()
123- }
124-
125- " validates example mapping v5" {
126- validator.validate("/mapping/v5/mapping.example.yaml".fromResource(), "v5").isValid.shouldBeTrue()
127- }
128-
129- " validates extensions mapping v6" {
130- validator.validate("/mapping/v6/extensions.mapping.yaml".fromResource(), "v6").isValid.shouldBeTrue()
131- }
132-
133- " validates example mapping v6" {
134- validator.validate("/mapping/v6/mapping.example.yaml".fromResource(), "v6").isValid.shouldBeTrue()
135- }
136-
137- " validates example mapping v7" {
138- validator.validate("/mapping/v7/mapping.example.yaml".fromResource(), "v7").isValid.shouldBeTrue()
139- }
140-
141- " validates example mapping v8" {
142- validator.validate("/mapping/v8/mapping.example.yaml".fromResource(), "v8").isValid.shouldBeTrue()
143- }
144-
145- " validates example mapping v9" {
146- validator.validate("/mapping/v9/mapping.example.yaml".fromResource(), "v9").isValid.shouldBeTrue()
147- }
148-
149- " validates example mapping v10" {
150- validator.validate("/mapping/v10/mapping.example.yaml".fromResource(), "v10").isValid.shouldBeTrue()
151- }
152-
153- " validates example mapping v11" {
154- validator.validate("/mapping/v11/mapping.example.yaml".fromResource(), "v11").isValid.shouldBeTrue()
155- }
156-
157- " validates example mapping v12" {
158- validator.validate("/mapping/v12/mapping.example.yaml".fromResource(), "v12").isValid.shouldBeTrue()
159- }
160-
161- " validates example mapping v13" {
162- validator.validate("/mapping/v13/mapping.example.yaml".fromResource(), "v13").isValid.shouldBeTrue()
163- }
164-
165- " validates example mapping v14" {
166- validator.validate("/mapping/v14/mapping.example.yaml".fromResource(), "v14").isValid.shouldBeTrue()
107+ " validates example mapping" {
108+ forAll(*createMappingRows()) { v ->
109+ validator.validate("/mapping/$v/mapping.example.yaml".fromResource(), v).isValid.shouldBeTrue()
110+ }
167111 }
168112
169113 " validates mapping with result key on multiple levels" {
0 commit comments