|
| 1 | +package org.openapitools.codegen; |
| 2 | + |
| 3 | +import io.swagger.v3.oas.models.OpenAPI; |
| 4 | +import io.swagger.v3.oas.models.Operation; |
| 5 | +import io.swagger.v3.oas.models.PathItem; |
| 6 | +import io.swagger.v3.oas.models.Paths; |
| 7 | +import io.swagger.v3.oas.models.media.IntegerSchema; |
| 8 | +import io.swagger.v3.oas.models.media.StringSchema; |
| 9 | +import io.swagger.v3.oas.models.parameters.QueryParameter; |
| 10 | +import io.swagger.v3.oas.models.responses.ApiResponse; |
| 11 | +import io.swagger.v3.oas.models.responses.ApiResponses; |
| 12 | + |
| 13 | +import org.testng.Assert; |
| 14 | +import org.testng.annotations.Test; |
| 15 | + |
| 16 | +import java.util.List; |
| 17 | +import java.util.Map; |
| 18 | + |
| 19 | +public class DefaultGeneratorTest { |
| 20 | + |
| 21 | + @Test |
| 22 | + public void testProcessPaths() throws Exception { |
| 23 | + OpenAPI openAPI = TestUtils.createOpenAPI(); |
| 24 | + openAPI.setPaths(new Paths()); |
| 25 | + openAPI.getPaths().addPathItem("path1/", new PathItem().get(new Operation().operationId("op1").responses(new ApiResponses().addApiResponse("201", new ApiResponse().description("OK"))))); |
| 26 | + openAPI.getPaths().addPathItem("path2/", new PathItem().get(new Operation().operationId("op2").addParametersItem(new QueryParameter().name("p1").schema(new StringSchema())).responses(new ApiResponses().addApiResponse("201", new ApiResponse().description("OK"))))); |
| 27 | + openAPI.getPaths().addPathItem("path3/", new PathItem().addParametersItem(new QueryParameter().name("p1").schema(new StringSchema())).get(new Operation().operationId("op3").addParametersItem(new QueryParameter().name("p2").schema(new IntegerSchema())).responses(new ApiResponses().addApiResponse("201", new ApiResponse().description("OK"))))); |
| 28 | + openAPI.getPaths().addPathItem("path4/", new PathItem().addParametersItem(new QueryParameter().name("p1").schema(new StringSchema())).get(new Operation().operationId("op4").responses(new ApiResponses().addApiResponse("201", new ApiResponse().description("OK"))))); |
| 29 | + |
| 30 | + ClientOptInput opts = new ClientOptInput(); |
| 31 | + opts.setOpenAPI(openAPI); |
| 32 | + opts.setConfig(new DefaultCodegen()); |
| 33 | + opts.setOpts(new ClientOpts()); |
| 34 | + |
| 35 | + DefaultGenerator generator = new DefaultGenerator(); |
| 36 | + generator.opts(opts); |
| 37 | + Map<String, List<CodegenOperation>> result = generator.processPaths(openAPI.getPaths()); |
| 38 | + Assert.assertEquals(result.size(), 1); |
| 39 | + List<CodegenOperation> defaultList = result.get("Default"); |
| 40 | + Assert.assertEquals(defaultList.size(), 4); |
| 41 | + Assert.assertEquals(defaultList.get(0).path, "path1/"); |
| 42 | + Assert.assertEquals(defaultList.get(0).allParams.size(), 0); |
| 43 | + Assert.assertEquals(defaultList.get(1).path, "path2/"); |
| 44 | + Assert.assertEquals(defaultList.get(1).allParams.size(), 1); |
| 45 | + Assert.assertEquals(defaultList.get(2).path, "path3/"); |
| 46 | + Assert.assertEquals(defaultList.get(2).allParams.size(), 2); |
| 47 | + Assert.assertEquals(defaultList.get(3).path, "path4/"); |
| 48 | + Assert.assertEquals(defaultList.get(3).allParams.size(), 1); |
| 49 | + } |
| 50 | +} |
0 commit comments