From f2dd5d0bcad1f7b00b0fb80e48802abbbca50aaa Mon Sep 17 00:00:00 2001
From: r-sreesaran <r.sreesaran@gmail.com>
Date: Fri, 2 Oct 2020 13:32:14 +0530
Subject: [PATCH 1/3] Fix for issue-1432

---
 .../io/swagger/parser/util/SwaggerDeserializer.java    |  2 +-
 .../test/java/io/swagger/parser/SwaggerParserTest.java | 10 ++++++++++
 .../swagger-parser/src/test/resources/issue-1432.yaml  | 10 ++++++++++
 3 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 modules/swagger-parser/src/test/resources/issue-1432.yaml

diff --git a/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java b/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java
index caeabf8f60..7ef6feb257 100644
--- a/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java
+++ b/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java
@@ -1144,7 +1144,7 @@ public Map<String, Response> responses(ObjectNode node, String location, ParseRe
 
             } else {
                 ObjectNode obj = getObject(key, node, false, location + ".responses", result);
-                Response response = response(obj, location + "." + key, result);
+                Response response = response(obj, location + "." +"responses."+key, result);
                 output.put(key, response);
             }
         }
diff --git a/modules/swagger-parser/src/test/java/io/swagger/parser/SwaggerParserTest.java b/modules/swagger-parser/src/test/java/io/swagger/parser/SwaggerParserTest.java
index 177061f3c3..d2610154b1 100644
--- a/modules/swagger-parser/src/test/java/io/swagger/parser/SwaggerParserTest.java
+++ b/modules/swagger-parser/src/test/java/io/swagger/parser/SwaggerParserTest.java
@@ -1648,4 +1648,14 @@ public void testIssue913() {
         Assert.assertNotNull(swagger.getDefinitions().get("indicatorType"));
         Assert.assertEquals(swagger.getDefinitions().get("indicatorType").getProperties().size(), 1);
     }
+
+    @Test
+    public void testIssuei432() {
+
+        SwaggerDeserializationResult result = new SwaggerParser().readWithInfo("src/test/resources/issue-1432.yaml", null, true);
+        assertNotNull(result);
+        assertEquals("attribute paths.'/tickets'(get).responses.200.title is unexpected",result.getMessages().get(0));
+
+
+    }
 }
diff --git a/modules/swagger-parser/src/test/resources/issue-1432.yaml b/modules/swagger-parser/src/test/resources/issue-1432.yaml
new file mode 100644
index 0000000000..2c7b9d3872
--- /dev/null
+++ b/modules/swagger-parser/src/test/resources/issue-1432.yaml
@@ -0,0 +1,10 @@
+swagger: "2.0"
+info:
+  description:
+    some description
+paths:
+  /tickets:
+    get:
+      responses:
+        200:
+          title: abc
\ No newline at end of file

From 02f2cbd91cac659462227093bdc51743d6a6293a Mon Sep 17 00:00:00 2001
From: r-sreesaran <r.sreesaran@gmail.com>
Date: Fri, 2 Oct 2020 14:17:37 +0530
Subject: [PATCH 2/3] Fix for issue-1432

---
 .../java/io/swagger/parser/util/SwaggerDeserializer.java  | 6 +++---
 modules/swagger-parser/src/test/resources/issue-1432.yaml | 8 +++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java b/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java
index 7ef6feb257..e4b4dfc1a6 100644
--- a/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java
+++ b/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java
@@ -394,8 +394,8 @@ public Operation operation(ObjectNode obj, String location, ParseResult result)
         ArrayNode parameters = getArray("parameters", obj, false, location, result);
         output.setParameters(parameters(parameters, location, result));
 
-        ObjectNode responses = getObject("responses", obj, true, location, result);
-        Map<String, Response> responsesObject = responses(responses, location, result);
+        ObjectNode responses = getObject("responses", obj, true, location+".responses", result);
+        Map<String, Response> responsesObject = responses(responses, location+".responses", result);
         if (responsesObject != null && responsesObject.size() == 0) {
             result.missing(location, "responses");
         }
@@ -1144,7 +1144,7 @@ public Map<String, Response> responses(ObjectNode node, String location, ParseRe
 
             } else {
                 ObjectNode obj = getObject(key, node, false, location + ".responses", result);
-                Response response = response(obj, location + "." +"responses."+key, result);
+                Response response = response(obj, location + "."+key, result);
                 output.put(key, response);
             }
         }
diff --git a/modules/swagger-parser/src/test/resources/issue-1432.yaml b/modules/swagger-parser/src/test/resources/issue-1432.yaml
index 2c7b9d3872..e2a235de9d 100644
--- a/modules/swagger-parser/src/test/resources/issue-1432.yaml
+++ b/modules/swagger-parser/src/test/resources/issue-1432.yaml
@@ -1,10 +1,12 @@
 swagger: "2.0"
 info:
-  description:
-    some description
+  description: some description
+  title: data
+  version: "1"
 paths:
   /tickets:
     get:
       responses:
         200:
-          title: abc
\ No newline at end of file
+          title: abc
+          description: data
\ No newline at end of file

From 77f27efe61d9102ca6b3a810a104a497385a26e7 Mon Sep 17 00:00:00 2001
From: r-sreesaran <r.sreesaran@gmail.com>
Date: Sat, 3 Oct 2020 23:33:41 +0530
Subject: [PATCH 3/3] Fix for issue-1432

---
 .../main/java/io/swagger/parser/util/SwaggerDeserializer.java | 3 ++-
 .../src/test/java/io/swagger/parser/SwaggerReaderTest.java    | 2 +-
 .../src/test/resources/nested-file-references/issue-421.yaml  | 4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java b/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java
index e4b4dfc1a6..ec5a66e60f 100644
--- a/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java
+++ b/modules/swagger-parser/src/main/java/io/swagger/parser/util/SwaggerDeserializer.java
@@ -406,6 +406,7 @@ public Operation operation(ObjectNode obj, String location, ParseResult result)
             Iterator<JsonNode> it = array.iterator();
             while (it.hasNext()) {
                 JsonNode n = it.next();
+
                 String s = getString(n, location + ".schemes", result);
                 if (s != null) {
                     Scheme scheme = Scheme.forValue(s);
@@ -1143,7 +1144,7 @@ public Map<String, Response> responses(ObjectNode node, String location, ParseRe
             if (key.startsWith("x-")) {
 
             } else {
-                ObjectNode obj = getObject(key, node, false, location + ".responses", result);
+                ObjectNode obj = getObject(key, node, false, location, result);
                 Response response = response(obj, location + "."+key, result);
                 output.put(key, response);
             }
diff --git a/modules/swagger-parser/src/test/java/io/swagger/parser/SwaggerReaderTest.java b/modules/swagger-parser/src/test/java/io/swagger/parser/SwaggerReaderTest.java
index f3af580c0b..897c6e1385 100644
--- a/modules/swagger-parser/src/test/java/io/swagger/parser/SwaggerReaderTest.java
+++ b/modules/swagger-parser/src/test/java/io/swagger/parser/SwaggerReaderTest.java
@@ -282,7 +282,7 @@ public void testIssue136() {
             "        200:\n" +
             "          description: 'the pet'\n" +
             "          schema:\n" +
-            "            $ref: 'http://petstore.swagger.io/v2/swagger.json#/definitions/Pet'";
+            "            $ref: 'https://petstore.swagger.io/v2/swagger.json#/definitions/Pet'";
 
         SwaggerDeserializationResult result = new SwaggerParser().readWithInfo(spec);
 
diff --git a/modules/swagger-parser/src/test/resources/nested-file-references/issue-421.yaml b/modules/swagger-parser/src/test/resources/nested-file-references/issue-421.yaml
index ccf0cbde16..c67301a01d 100644
--- a/modules/swagger-parser/src/test/resources/nested-file-references/issue-421.yaml
+++ b/modules/swagger-parser/src/test/resources/nested-file-references/issue-421.yaml
@@ -66,12 +66,12 @@ paths:
           description: order placed for purchasing the pet
           required: true
           schema:
-            $ref: 'http://petstore.swagger.io/v2/swagger.json#/definitions/Order'
+            $ref: 'https://petstore.swagger.io/v2/swagger.json#/definitions/Order'
       responses:
         '200':
           description: successful operation
           schema:
-            $ref: 'http://petstore.swagger.io/v2/swagger.json#/definitions/Order'
+            $ref: 'https://petstore.swagger.io/v2/swagger.json#/definitions/Order'
         '400':
           description: Invalid Order