Search in sources :

Example 1 with ParserException

use of com.fasterxml.jackson.dataformat.yaml.snakeyaml.parser.ParserException in project records-management by Alfresco.

the class BaseYamlUnitTest method validateYamlFiles.

/**
 * Helper method to validate that all given yaml files are valid readable Swagger format
 */
protected void validateYamlFiles(final Set<String> yamlFileNames) throws ProcessingException, IOException {
    assertFalse("Expected at least 1 yaml file to validate", yamlFileNames.isEmpty());
    final JsonSchema swaggerSchema = getSwaggerSchema(SWAGGER_2_SCHEMA_LOCATION);
    assertNotNull("Failed to obtain the Swagger schema", swaggerSchema);
    for (String yamlFilePath : yamlFileNames) {
        try {
            // check the yaml file is valid against Swagger JSON schema
            assertTrue("Yaml file is not valid Swagger " + OPEN_API_SPECIFICATION + ": " + yamlFilePath, validateYamlFile(yamlFilePath, swaggerSchema));
            // check can read the swagger object to obtain the swagger version
            Swagger swagger = new SwaggerParser().read(yamlFilePath);
            assertEquals("Failed to obtain Swagger version from yaml file " + yamlFilePath, swagger.getSwagger(), OPEN_API_SPECIFICATION);
        } catch (ParserException ex) {
            // ensure the yaml filename is included in the message
            String context = String.format(yamlFilePath + ": %n" + ex.getContext());
            throw new ParserException(context, ex.getContextMark(), ex.getProblem(), ex.getProblemMark());
        }
    }
}
Also used : SwaggerParser(io.swagger.parser.SwaggerParser) ParserException(com.fasterxml.jackson.dataformat.yaml.snakeyaml.parser.ParserException) JsonSchema(com.github.fge.jsonschema.main.JsonSchema) Swagger(io.swagger.models.Swagger)

Aggregations

ParserException (com.fasterxml.jackson.dataformat.yaml.snakeyaml.parser.ParserException)1 JsonSchema (com.github.fge.jsonschema.main.JsonSchema)1 Swagger (io.swagger.models.Swagger)1 SwaggerParser (io.swagger.parser.SwaggerParser)1