From 1569df9be4d9178ec4715bab253117dfcec7533d Mon Sep 17 00:00:00 2001 From: Ben Mordue Date: Fri, 6 Jul 2018 13:32:51 +0100 Subject: [PATCH 1/2] Do not set Info block if it does not exist --- .../java/io/swagger/v3/parser/converter/SwaggerConverter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java b/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java index b4250e446c..1b6d490b7d 100644 --- a/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java +++ b/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java @@ -141,7 +141,9 @@ public SwaggerParseResult convert(SwaggerDeserializationResult parse) { openAPI.setExternalDocs(convert(swagger.getExternalDocs())); } - openAPI.setInfo(convert(swagger.getInfo())); + if (swagger.getInfo() != null) { + openAPI.setInfo(convert(swagger.getInfo())); + } openAPI.setServers(convert(swagger.getSchemes(), swagger.getHost(), swagger.getBasePath())); From 6797119b2ed5643f6a03463c5553b4a274670223 Mon Sep 17 00:00:00 2001 From: Jeremie Bresson Date: Fri, 6 Jul 2018 16:38:56 +0200 Subject: [PATCH 2/2] Add a test case for issue #755 --- .../io/swagger/parser/test/V2ConverterTest.java | 7 +++++++ .../src/test/resources/issue-755.yaml | 14 ++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 modules/swagger-parser-v2-converter/src/test/resources/issue-755.yaml diff --git a/modules/swagger-parser-v2-converter/src/test/java/io/swagger/parser/test/V2ConverterTest.java b/modules/swagger-parser-v2-converter/src/test/java/io/swagger/parser/test/V2ConverterTest.java index 4d56529095..4e2c95343a 100644 --- a/modules/swagger-parser-v2-converter/src/test/java/io/swagger/parser/test/V2ConverterTest.java +++ b/modules/swagger-parser-v2-converter/src/test/java/io/swagger/parser/test/V2ConverterTest.java @@ -77,6 +77,7 @@ public class V2ConverterTest { private static final String ISSUE_673_YAML = "issue-673.yaml"; private static final String ISSUE_676_JSON = "issue-676.json"; private static final String ISSUE_708_YAML = "issue-708.yaml"; + private static final String ISSUE_755_YAML = "issue-755.yaml"; private static final String API_BATCH_PATH = "/api/batch/"; private static final String PETS_PATH = "/pets"; @@ -650,6 +651,12 @@ public void testSwaggerParseResultHasMessage() throws Exception { assertNotNull(result.getMessages()); } + @Test(description = "OpenAPI v2 converter - Conversion of a spec without a info section") + public void testIssue755() throws Exception { + final OpenAPI oas = getConvertedOpenAPIFromJsonFile(ISSUE_755_YAML); + assertNotNull(oas); + } + private OpenAPI getConvertedOpenAPIFromJsonFile(String file) throws IOException, URISyntaxException { SwaggerConverter converter = new SwaggerConverter(); String swaggerAsString = new String(Files.readAllBytes(Paths.get(getClass().getClassLoader().getResource(file).toURI()))); diff --git a/modules/swagger-parser-v2-converter/src/test/resources/issue-755.yaml b/modules/swagger-parser-v2-converter/src/test/resources/issue-755.yaml new file mode 100644 index 0000000000..083ba6ee8e --- /dev/null +++ b/modules/swagger-parser-v2-converter/src/test/resources/issue-755.yaml @@ -0,0 +1,14 @@ +swagger: '2.0' +host: petstore.swagger.io +basePath: /v2 +schemes: + - http +paths: + /ping: + post: + summary: test + description: 'test it' + operationId: pingOp + responses: + '200': + description: OK \ No newline at end of file