use of io.swagger.v3.oas.models.security.SecurityScheme.In in project swagger-parser by swagger-api.
the class OpenAPIV3ParserTest method testConverterIssue17.
@Test
public void testConverterIssue17() throws Exception {
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" + " style: form\n" + " schema:\n" + " type: array\n" + " items:\n" + " type: string\n" + " responses:\n" + " '200':\n" + " description: Successful response\n" + " content:\n" + " '*/*':\n" + " schema:\n" + " $ref: '#/components/schemas/Content'\n" + "components:\n" + " schemas:\n" + " Content:\n" + " type: object";
ParseOptions options = new ParseOptions();
options.setResolve(false);
SwaggerParseResult result = new OpenAPIV3Parser().readContents(yaml, null, options);
assertNotNull(result.getOpenAPI());
assertEquals((result.getOpenAPI().getPaths().get("/persons").getGet().getResponses().get("200").getContent().get("*/*").getSchema()).get$ref(), "#/components/schemas/Content");
}
use of io.swagger.v3.oas.models.security.SecurityScheme.In 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.security.SecurityScheme.In 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.security.SecurityScheme.In in project swagger-parser by swagger-api.
the class OpenAPIV3ParserTest method testValidateExternalRefsTrue.
@Test(description = "option true, adds Original Location to messages when ref is relative/local")
public void testValidateExternalRefsTrue() {
ParseOptions options = new ParseOptions();
options.setValidateExternalRefs(true);
options.setResolve(true);
SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./swos-443/root.yaml", null, options);
OpenAPI openAPI = result.getOpenAPI();
assertNotNull(openAPI);
assertNotNull(result.getMessages());
assertEquals(result.getMessages().size(), 19);
assertTrue(result.getMessages().contains("attribute components.requestBodies.NewItem.asdasd is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.requestBodies.NewItem.descasdasdription is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.responses.GeneralError.descrsaiption is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.responses.GeneralError.asdas is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.responses.GeneralError.description is missing (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.schemas.Examples.nonExpected is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.parameters.skipParam.[skip].in is not of type `[query|header|path|cookie]` (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.securitySchemes.api_key.namex is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.securitySchemes.api_key.name is missing (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.callbacks.webhookVerificationEvent.postx is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.headers.X-Rate-Limit-Limit.descriptasdd is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.links.unsubscribe.parametersx is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.examples.response-example.summaryx is unexpected (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.examples.response-example. value and externalValue are both present (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.callbacks.failed.wrongField is not of type `object` (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute paths.~1refPet(get).responses is missing (./ref.yaml)"));
// error message in main file
assertTrue(result.getMessages().contains("attribute components.schemas.InvalidSchema.invalid is unexpected"));
assertTrue(result.getMessages().contains("attribute components.schemas.ErrorModel.properties is not of type `object` (./ref.yaml)"));
assertTrue(result.getMessages().contains("attribute components.schemas.Examples.properties is not of type `object` (./ref.yaml)"));
}
use of io.swagger.v3.oas.models.security.SecurityScheme.In in project swagger-parser by swagger-api.
the class OpenAPIV3ParserTest method testModelParameters.
@Test
public void testModelParameters() throws Exception {
String yaml = "openapi: '2.0'\n" + "info:\n" + " version: \"0.0.0\"\n" + " title: test\n" + "paths:\n" + " /foo:\n" + " get:\n" + " parameters:\n" + " - name: amount\n" + " in: body\n" + " schema:\n" + " type: integer\n" + " format: int64\n" + " description: amount of money\n" + " default: 1000\n" + " maximum: 100000\n" + " responses:\n" + " 200:\n" + " description: ok";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
OpenAPI openAPI = (parser.readContents(yaml, null, null)).getOpenAPI();
}
Aggregations