|
17 | 17 |
|
18 | 18 | package org.openapitools.codegen.java;
|
19 | 19 |
|
| 20 | +import io.swagger.parser.OpenAPIParser; |
20 | 21 | import io.swagger.v3.oas.models.Components;
|
21 | 22 | import io.swagger.v3.oas.models.OpenAPI;
|
22 | 23 | import io.swagger.v3.oas.models.media.*;
|
23 | 24 |
|
| 25 | +import io.swagger.v3.oas.models.parameters.Parameter; |
| 26 | +import io.swagger.v3.parser.core.models.ParseOptions; |
24 | 27 | import java.time.OffsetDateTime;
|
25 | 28 | import java.time.ZonedDateTime;
|
26 | 29 | import java.util.*;
|
27 | 30 |
|
| 31 | +import java.util.stream.Collectors; |
28 | 32 | import org.openapitools.codegen.*;
|
29 | 33 | import org.openapitools.codegen.languages.AbstractJavaCodegen;
|
30 | 34 | import org.openapitools.codegen.utils.ModelUtils;
|
@@ -873,6 +877,26 @@ public void testOneOfModelImports() throws Exception {
|
873 | 877 | Assert.assertTrue(cm.imports.contains("UUID"));
|
874 | 878 | }
|
875 | 879 |
|
| 880 | + @Test |
| 881 | + public void arrayParameterDefaultValueDoesNotNeedBraces() throws Exception { |
| 882 | + ParseOptions parseOptions = new ParseOptions(); |
| 883 | + parseOptions.setResolve(true); |
| 884 | + final OpenAPI openAPI = new OpenAPIParser() |
| 885 | + .readLocation("src/test/resources/3_0/issue_16223.yaml", null, parseOptions) |
| 886 | + .getOpenAPI(); |
| 887 | + final P_AbstractJavaCodegen codegen = new P_AbstractJavaCodegen(); |
| 888 | + codegen.setOpenAPI(openAPI); |
| 889 | + |
| 890 | + Map<String, Schema> schemas = openAPI.getPaths().get("/test").getGet().getParameters().stream() |
| 891 | + .collect(Collectors.toMap( |
| 892 | + Parameter::getName, |
| 893 | + p -> ModelUtils.getReferencedSchema(openAPI, p.getSchema()))); |
| 894 | + Assert.assertEquals(codegen.toDefaultParameterValue(schemas.get("fileEnumWithDefault")), "A,B"); |
| 895 | + Assert.assertEquals(codegen.toDefaultParameterValue(schemas.get("fileEnumWithDefaultEmpty")), ""); |
| 896 | + Assert.assertEquals(codegen.toDefaultParameterValue(schemas.get("inlineEnumWithDefault")), "A,B"); |
| 897 | + Assert.assertEquals(codegen.toDefaultParameterValue(schemas.get("inlineEnumWithDefaultEmpty")), ""); |
| 898 | + } |
| 899 | + |
876 | 900 | private static Schema<?> createObjectSchemaWithMinItems() {
|
877 | 901 | return new ObjectSchema()
|
878 | 902 | .addProperties("id", new IntegerSchema().format("int32"))
|
|
0 commit comments