From 64607fde00e9560ff59e2174d89e863e15fef88c Mon Sep 17 00:00:00 2001 From: gracekarina Date: Fri, 6 Apr 2018 11:28:12 -0500 Subject: [PATCH] fixing failing tests in master --- .../java/io/swagger/parser/ResolverCache.java | 2 +- .../java/io/swagger/parser/SwaggerParser.java | 46 ++++++++++--------- ...renceTests.java => FileReferenceTest.java} | 5 +- ...enceTests.java => LocalReferenceTest.java} | 2 +- ...ceTests.java => NetworkReferenceTest.java} | 2 +- 5 files changed, 31 insertions(+), 26 deletions(-) rename modules/swagger-parser/src/test/java/io/swagger/parser/{FileReferenceTests.java => FileReferenceTest.java} (98%) rename modules/swagger-parser/src/test/java/io/swagger/parser/{LocalReferenceTests.java => LocalReferenceTest.java} (98%) rename modules/swagger-parser/src/test/java/io/swagger/parser/{NetworkReferenceTests.java => NetworkReferenceTest.java} (99%) diff --git a/modules/swagger-parser/src/main/java/io/swagger/parser/ResolverCache.java b/modules/swagger-parser/src/main/java/io/swagger/parser/ResolverCache.java index 1a5c5a58e7..f5a7faea72 100644 --- a/modules/swagger-parser/src/main/java/io/swagger/parser/ResolverCache.java +++ b/modules/swagger-parser/src/main/java/io/swagger/parser/ResolverCache.java @@ -154,7 +154,7 @@ else if(rootPath != null) { protected void updateLocalRefs(String file, T result) { if(result instanceof Response) { Response response = (Response) result; - updateLocalRefs(file, response.getSchema()); + updateLocalRefs(file, response.getResponseSchema()); } else if(result instanceof RefProperty) { RefProperty prop = (RefProperty) result; diff --git a/modules/swagger-parser/src/main/java/io/swagger/parser/SwaggerParser.java b/modules/swagger-parser/src/main/java/io/swagger/parser/SwaggerParser.java index 4f87f004ab..45ae3be253 100644 --- a/modules/swagger-parser/src/main/java/io/swagger/parser/SwaggerParser.java +++ b/modules/swagger-parser/src/main/java/io/swagger/parser/SwaggerParser.java @@ -10,6 +10,7 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.ServiceLoader; @@ -22,31 +23,34 @@ public SwaggerDeserializationResult readWithInfo(String location, List parserExtensions = getExtensions(); - SwaggerDeserializationResult output; - - if (auths == null) { - auths = new ArrayList(); - } + SwaggerDeserializationResult output = new SwaggerDeserializationResult(); + try { + if (auths == null) { + auths = new ArrayList(); + } - output = new Swagger20Parser().readWithInfo(location, auths); - if (output != null) { - if (output.getSwagger() != null && "2.0".equals(output.getSwagger().getSwagger())) { - if (resolve) { - output.setSwagger(new SwaggerResolver(output.getSwagger(), auths, location).resolve()); + output = new Swagger20Parser().readWithInfo(location, auths); + if (output != null) { + if (output.getSwagger() != null && "2.0".equals(output.getSwagger().getSwagger())) { + if (resolve) { + output.setSwagger(new SwaggerResolver(output.getSwagger(), auths, location).resolve()); + } + return output; } - return output; } - } - for (SwaggerParserExtension extension : parserExtensions) { - output = extension.readWithInfo(location, auths); - if (output != null && output.getSwagger() != null && "2.0".equals(output.getSwagger().getSwagger())) { - return output; + for (SwaggerParserExtension extension : parserExtensions) { + output = extension.readWithInfo(location, auths); + if (output != null && output.getSwagger() != null && "2.0".equals(output.getSwagger().getSwagger())) { + return output; + } + } + if (output == null) { + output = new SwaggerDeserializationResult() + .message("The swagger definition could not be read"); + } + }catch (Exception e) { + output.setMessages(Arrays.asList(e.getMessage())); } - } - if (output == null) { - output = new SwaggerDeserializationResult() - .message("The swagger definition could not be read"); - } return output; } diff --git a/modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTests.java b/modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTest.java similarity index 98% rename from modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTests.java rename to modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTest.java index 2650e75568..63d6e22444 100644 --- a/modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTests.java +++ b/modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTest.java @@ -10,6 +10,7 @@ import io.swagger.models.properties.RefProperty; import io.swagger.models.refs.RefFormat; import io.swagger.parser.util.SwaggerDeserializationResult; +import io.swagger.util.Yaml; import org.testng.annotations.Test; import java.util.List; @@ -19,7 +20,7 @@ import java.util.Map; -public class FileReferenceTests { +public class FileReferenceTest { @Test public void testIssue306() { SwaggerDeserializationResult result = new SwaggerParser().readWithInfo("./src/test/resources/nested-file-references/issue-306.yaml", null, true); @@ -27,7 +28,7 @@ public void testIssue306() { Swagger swagger = result.getSwagger(); - assertTrue(swagger.getDefinitions().size() == 3); + assertTrue(swagger.getDefinitions().size() == 5); // resolved from `$ref: './book.yaml'` assertNotNull(swagger.getDefinitions().get("Inventory")); // resolved from `$ref: 'book.yaml'` diff --git a/modules/swagger-parser/src/test/java/io/swagger/parser/LocalReferenceTests.java b/modules/swagger-parser/src/test/java/io/swagger/parser/LocalReferenceTest.java similarity index 98% rename from modules/swagger-parser/src/test/java/io/swagger/parser/LocalReferenceTests.java rename to modules/swagger-parser/src/test/java/io/swagger/parser/LocalReferenceTest.java index ac0810330f..27097c144d 100644 --- a/modules/swagger-parser/src/test/java/io/swagger/parser/LocalReferenceTests.java +++ b/modules/swagger-parser/src/test/java/io/swagger/parser/LocalReferenceTest.java @@ -18,7 +18,7 @@ import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertTrue; -public class LocalReferenceTests { +public class LocalReferenceTest { @Mocked public RemoteUrl remoteUrl = new RemoteUrl(); diff --git a/modules/swagger-parser/src/test/java/io/swagger/parser/NetworkReferenceTests.java b/modules/swagger-parser/src/test/java/io/swagger/parser/NetworkReferenceTest.java similarity index 99% rename from modules/swagger-parser/src/test/java/io/swagger/parser/NetworkReferenceTests.java rename to modules/swagger-parser/src/test/java/io/swagger/parser/NetworkReferenceTest.java index a44891604a..72dc2e2551 100644 --- a/modules/swagger-parser/src/test/java/io/swagger/parser/NetworkReferenceTests.java +++ b/modules/swagger-parser/src/test/java/io/swagger/parser/NetworkReferenceTest.java @@ -27,7 +27,7 @@ import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertTrue; -public class NetworkReferenceTests { +public class NetworkReferenceTest { @Mocked public RemoteUrl remoteUrl = new RemoteUrl();