use of io.swagger.v3.oas.models.info.Info in project swagger-parser by swagger-api.
the class OpenAPIV3ParserTest method testIssue.
@Test
public void testIssue() {
String yaml = "openapi: 3.0.0\n" + "servers: []\n" + "info:\n" + " description: No description provided.\n" + " version: '2.0'\n" + " title: My web service\n" + " x-endpoint-name: default\n" + "paths:\n" + " x-nothing: sorry not supported\n" + " /foo:\n" + " x-something: 'yes, it is supported'\n" + " get:\n" + " responses:\n" + " '200':\n" + " description: OpenAPI API document for this service\n" + "x-some-vendor:\n" + " sometesting: bye!";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
OpenAPI openAPI = result.getOpenAPI();
assertEquals(((Map) openAPI.getExtensions().get("x-some-vendor")).get("sometesting"), "bye!");
assertEquals(openAPI.getPaths().get("/foo").getExtensions().get("x-something"), "yes, it is supported");
}
use of io.swagger.v3.oas.models.info.Info in project swagger-parser by swagger-api.
the class OpenAPIV3ParserTest method testIssue292WithCSVCollectionFormat.
@Test
public void testIssue292WithCSVCollectionFormat() {
String yaml = "openapi: '3.0.0'\n" + "info:\n" + " version: '0.0.0'\n" + " title: nada\n" + "paths:\n" + " /persons:\n" + " get:\n" + " parameters:\n" + " - name: testParam\n" + " in: query\n" + " type: array\n" + " items:\n" + " type: string\n" + " explode: false\n" + " responses:\n" + " 200:\n" + " description: Successful response";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
OpenAPI openAPI = result.getOpenAPI();
Parameter param = openAPI.getPaths().get("/persons").getGet().getParameters().get(0);
QueryParameter qp = (QueryParameter) param;
assertTrue(qp.getStyle().toString().equals("form"));
Assert.assertFalse(qp.getExplode());
}
use of io.swagger.v3.oas.models.info.Info in project swagger-parser by swagger-api.
the class OpenAPIV3ParserTest method testParseSharedPathParameters.
@Test
public void testParseSharedPathParameters() throws Exception {
String yaml = "openapi: '3.0.0'\n" + "info:\n" + " version: \"0.0.0\"\n" + " title: test\n" + "paths:\n" + " /persons/{id}:\n" + " parameters:\n" + " - in: path\n" + " name: id\n" + " type: string\n" + " required: true\n" + " description: \"no\"\n" + " get:\n" + " parameters:\n" + " - name: id\n" + " in: path\n" + " required: true\n" + " type: string\n" + " description: \"yes\"\n" + " - name: name\n" + " in: query\n" + " type: string\n" + " responses:\n" + " 200:\n" + " description: ok\n";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
OpenAPI openAPI = (parser.readContents(yaml, null, null)).getOpenAPI();
List<Parameter> parameters = openAPI.getPaths().get("/persons/{id}").getGet().getParameters();
assertTrue(parameters.size() == 2);
Parameter id = parameters.get(0);
assertEquals(id.getDescription(), "yes");
}
use of io.swagger.v3.oas.models.info.Info in project swagger-parser by swagger-api.
the class OpenAPIV3ParserTest method testIssue1644_EmptyValue.
@Test
public void testIssue1644_EmptyValue() throws Exception {
ParseOptions options = new ParseOptions();
String issue1644 = "openapi: 3.0.0\n" + "info:\n" + " title: Operations\n" + " version: 0.0.0\n" + "paths:\n" + " \"/operations\":\n" + " post:\n" + " parameters:\n" + " - name: param0\n" + " in: ''\n" + " schema:\n" + " type: string\n" + " responses:\n" + " default:\n" + " description: None\n";
SwaggerParseResult result = new OpenAPIV3Parser().readContents(issue1644, null, options);
Assert.assertNotNull(result);
Assert.assertNotNull(result.getOpenAPI());
assertEquals(result.getMessages().size(), 1);
assertTrue(result.getMessages().contains("attribute paths.'/operations'(post).parameters.[param0].in is not of type `[query|header|path|cookie]`"));
}
use of io.swagger.v3.oas.models.info.Info in project swagger-parser by swagger-api.
the class OpenAPIParserTest method test30.
@Test
public void test30() {
String json = "{\n" + " \"openapi\": \"3.0.1\",\n" + " \"info\": {\n" + " \"title\": \"Swagger Petstore\",\n" + " \"description\": \"This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.\",\n" + " \"termsOfService\": \"http://swagger.io/terms/\",\n" + " \"contact\": {\n" + " \"email\": \"apiteam@swagger.io\"\n" + " },\n" + " \"license\": {\n" + " \"name\": \"Apache 2.0\",\n" + " \"url\": \"http://www.apache.org/licenses/LICENSE-2.0.html\"\n" + " },\n" + " \"version\": \"1.0.0\"\n" + " }\n" + "}";
ParseOptions options = new ParseOptions();
options.setResolve(true);
SwaggerParseResult result = new OpenAPIParser().readContents(json, null, options);
assertNotNull(result);
assertNotNull(result.getOpenAPI());
assertEquals(result.getOpenAPI().getOpenapi(), "3.0.1");
}
Aggregations