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