From 95cfc4f1557a43791fac12fa1a270a8424661e94 Mon Sep 17 00:00:00 2001 From: Jeremie Bresson <dev@jmini.fr> Date: Sat, 30 Jun 2018 09:33:32 +0200 Subject: [PATCH] Add test case for produces --- .../codegen/DefaultCodegenTest.java | 18 ++++++++++ .../src/test/resources/3_0/produces.yaml | 35 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 modules/openapi-generator/src/test/resources/3_0/produces.yaml diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java index 18ae72beb19..65948656314 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java @@ -137,6 +137,24 @@ public class DefaultCodegenTest { Assert.assertEquals(coUpdate.produces.get(0).get("mediaType"), "application/xml"); } + @Test + public void testGetProducesInfo() throws Exception { + final OpenAPI openAPI = new OpenAPIParser().readLocation("src/test/resources/3_0/produces.yaml", null, new ParseOptions()).getOpenAPI(); + final DefaultCodegen codegen = new DefaultCodegen(); + + Operation textOperation = openAPI.getPaths().get("/ping/text").getGet(); + CodegenOperation coText = codegen.fromOperation("/ping/text", "get", textOperation, ModelUtils.getSchemas(openAPI), openAPI); + Assert.assertTrue(coText.hasProduces); + Assert.assertEquals(coText.produces.size(), 1); + Assert.assertEquals(coText.produces.get(0).get("mediaType"), "text/plain"); + + Operation jsonOperation = openAPI.getPaths().get("/ping/json").getGet(); + CodegenOperation coJson = codegen.fromOperation("/ping/json", "get", jsonOperation, ModelUtils.getSchemas(openAPI), openAPI); + Assert.assertTrue(coJson.hasProduces); + Assert.assertEquals(coJson.produces.size(), 1); + Assert.assertEquals(coJson.produces.get(0).get("mediaType"), "application/json"); + } + @Test public void testInitialConfigValues() throws Exception { final DefaultCodegen codegen = new DefaultCodegen(); diff --git a/modules/openapi-generator/src/test/resources/3_0/produces.yaml b/modules/openapi-generator/src/test/resources/3_0/produces.yaml new file mode 100644 index 00000000000..1edbf587e5e --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/produces.yaml @@ -0,0 +1,35 @@ +openapi: 3.0.0 +servers: + - url: 'http://api.example.com/v3' +info: + version: 1.0.0 + title: OpenAPI Test + license: + name: Apache-2.0 + url: 'http://www.apache.org/licenses/LICENSE-2.0.html' +paths: + /ping/text: + get: + operationId: pingText + responses: + '200': + description: OK + content: + text/plain: + example: "Hello world 2018-06-29T07:32:23Z" + /ping/json: + get: + operationId: pingJson + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + message: + type: string + timestamp: + type: string + example: '{ "message": "Hello world", "timestamp": "2018-06-29T07:32:23Z"}' \ No newline at end of file -- GitLab