public PathsDocument(Swagger2MarkupConverter.Context context) { super(context); this.pathOperationComponent = new PathOperationComponent(context, new DefinitionDocumentResolverFromOperation(context), new SecurityDocumentResolver(context)); this.operationDocumentNameResolver = new OperationDocumentNameResolver(context); this.operationDocumentResolverDefault = new OperationDocumentResolverDefault(context); if (logger.isDebugEnabled()) { if (config.isGeneratedExamplesEnabled()) { logger.debug("Generate examples is enabled."); } else { logger.debug("Generate examples is disabled."); } if (config.isSeparatedOperationsEnabled()) { logger.debug("Create separated operation files is enabled."); } else { logger.debug("Create separated operation files is disabled."); } } }
@Test public void testDefault() { Swagger2MarkupConverter.Context context = createContext(); assertThat(new DefinitionDocumentResolverFromOperation(context).apply("DefinitionName")).isNull(); }
@Test public void testWithInterDocumentCrossReferences() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withInterDocumentCrossReferences() .build(); Swagger2MarkupConverter.Context context = createContext(config); context.setOutputPath(Paths.get("/tmp")); assertThat(new DefinitionDocumentResolverFromOperation(context).apply("DefinitionName")) .isEqualTo("definitions.adoc"); }
@Test public void testWithInterDocumentCrossReferencesAndPrefix() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withInterDocumentCrossReferences("prefix_") .build(); Swagger2MarkupConverter.Context context = createContext(config); context.setOutputPath(Paths.get("/tmp")); assertThat(new DefinitionDocumentResolverFromOperation(context).apply("DefinitionName")) .isEqualTo("prefix_definitions.adoc"); }
@Test public void testWithSeparatedOperationsAndInterDocumentCrossReferences() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withSeparatedOperations() .withInterDocumentCrossReferences() .build(); Swagger2MarkupConverter.Context context = createContext(config); context.setOutputPath(Paths.get("/tmp")); assertThat(new DefinitionDocumentResolverFromOperation(context).apply("DefinitionName")) .isEqualTo(".." + fileSeparator + "definitions.adoc"); }
@Test public void testWithInterDocumentCrossReferencesAndMarkdown() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withInterDocumentCrossReferences() .withMarkupLanguage(MarkupLanguage.MARKDOWN) .build(); Swagger2MarkupConverter.Context context = createContext(config); context.setOutputPath(Paths.get("/tmp")); assertThat(new DefinitionDocumentResolverFromOperation(context).apply("DefinitionName")) .isEqualTo("definitions.md"); } }
@Test public void testWithSeparatedOperationsAndSeparatedDefinitionsAndInterDocumentCrossReferences() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withSeparatedOperations() .withSeparatedDefinitions() .withInterDocumentCrossReferences() .build(); Swagger2MarkupConverter.Context context = createContext(config); context.setOutputPath(Paths.get("/tmp")); assertThat(new DefinitionDocumentResolverFromOperation(context).apply("DefinitionName")) .isEqualTo(".." + fileSeparator + "definitions" + fileSeparator + "DefinitionName.adoc"); }
@Test public void testParameterTableComponent() throws URISyntaxException { //Given Path file = Paths.get(ParameterTableComponentTest.class.getResource("/yaml/swagger_petstore.yaml").toURI()); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).build(); Swagger swagger = converter.getContext().getSwagger(); io.swagger.models.Path path = swagger.getPaths().get("/pets"); List<PathOperation> pathOperations = PathUtils.toPathOperationsList("/pets", path); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new ParameterTableComponent(context, new DefinitionDocumentResolverFromOperation(context)) .apply(markupDocBuilder, ParameterTableComponent.parameters(pathOperations.get(0), new ArrayList<>(), 3)); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); } }
@Test public void testWithInterDocumentCrossReferencesAndNoOutputPath() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withInterDocumentCrossReferences() .build(); Swagger2MarkupConverter.Context context = createContext(config); assertThat(new DefinitionDocumentResolverFromOperation(context).apply("DefinitionName")) .isNull(); }
@Test public void testResponsesComponent() throws URISyntaxException { //Given Path file = Paths.get(ResponsesComponentTest.class.getResource("/yaml/swagger_petstore.yaml").toURI()); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).build(); Swagger swagger = converter.getContext().getSwagger(); io.swagger.models.Path path = swagger.getPaths().get("/pets/findByStatus"); List<PathOperation> pathOperations = PathUtils.toPathOperationsList("/pets/findByStatus", path); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new ResponseComponent(context, new DefinitionDocumentResolverFromOperation(context)) .apply(markupDocBuilder, ResponseComponent.parameters(pathOperations.get(0), 3, new ArrayList<>())); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); } }
@Test public void testWithSeparatedDefinitions() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withSeparatedDefinitions() .build(); Swagger2MarkupConverter.Context context = createContext(config); assertThat(new DefinitionDocumentResolverFromOperation(context).apply("DefinitionName")).isNull(); }
DefinitionDocumentResolverFromOperation resolverFromOperation = new DefinitionDocumentResolverFromOperation(context);
@Test public void testPathOperationComponent() throws URISyntaxException { String COMPONENT_NAME = "path_operation"; Path outputDirectory = getOutputFile(COMPONENT_NAME); FileUtils.deleteQuietly(outputDirectory.toFile()); //Given Path file = Paths.get(PathOperationComponentTest.class.getResource("/yaml/swagger_petstore.yaml").toURI()); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).build(); Swagger swagger = converter.getContext().getSwagger(); io.swagger.models.Path path = swagger.getPaths().get("/pets"); List<PathOperation> pathOperations = PathUtils.toPathOperationsList("/pets", path); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new PathOperationComponent(context, new DefinitionDocumentResolverFromOperation(context), new SecurityDocumentResolver(context)). apply(markupDocBuilder, PathOperationComponent.parameters(pathOperations.get(0))); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); }
@Test public void testWithPathParamExample() throws URISyntaxException { String COMPONENT_NAME = "path_operation_with_path_param_example"; Path outputDirectory = getOutputFile(COMPONENT_NAME); FileUtils.deleteQuietly(outputDirectory.toFile()); Map<String, String> configMap = new HashMap<>(); configMap.put("swagger2markup.generatedExamplesEnabled", "true"); // enable example //Given Path file = Paths.get(PathOperationComponentTest.class.getResource("/yaml/swagger_petstore.yaml").toURI()); Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder(configMap).build(); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).withConfig(config) .build(); Swagger swagger = converter.getContext().getSwagger(); io.swagger.models.Path path = swagger.getPaths().get("/pets/{petId}"); List<PathOperation> pathOperations = PathUtils.toPathOperationsList("/pets/{petId}", path); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new PathOperationComponent(context, new DefinitionDocumentResolverFromOperation(context), new SecurityDocumentResolver(context)). apply(markupDocBuilder, PathOperationComponent.parameters(pathOperations.get(0))); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); }
@Test public void testWithQueryParamExample() throws URISyntaxException { String COMPONENT_NAME = "path_operation_with_query_param_example"; Path outputDirectory = getOutputFile(COMPONENT_NAME); FileUtils.deleteQuietly(outputDirectory.toFile()); Map<String, String> configMap = new HashMap<>(); configMap.put("swagger2markup.generatedExamplesEnabled", "true"); // enable example //Given Path file = Paths.get(PathOperationComponentTest.class.getResource("/yaml/swagger_petstore.yaml").toURI()); Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder(configMap).build(); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).withConfig(config) .build(); Swagger swagger = converter.getContext().getSwagger(); io.swagger.models.Path path = swagger.getPaths().get("/pets/findByTags"); List<PathOperation> pathOperations = PathUtils.toPathOperationsList("/pets/findByTags", path); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new PathOperationComponent(context, new DefinitionDocumentResolverFromOperation(context), new SecurityDocumentResolver(context)). apply(markupDocBuilder, PathOperationComponent.parameters(pathOperations.get(0))); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); }
@Test public void testInlineSchema() throws URISyntaxException { String COMPONENT_NAME = "path_operation_inline_schema"; Path outputDirectory = getOutputFile(COMPONENT_NAME); FileUtils.deleteQuietly(outputDirectory.toFile()); //Given Path file = Paths.get(PathOperationComponentTest.class.getResource("/yaml/swagger_inlineSchema.yaml").toURI()); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).build(); Swagger swagger = converter.getContext().getSwagger(); io.swagger.models.Path path = swagger.getPaths().get("/LaunchCommand"); List<PathOperation> pathOperations = PathUtils.toPathOperationsList("/LaunchCommand", path); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new PathOperationComponent(context, new DefinitionDocumentResolverFromOperation(context), new SecurityDocumentResolver(context)). apply(markupDocBuilder, PathOperationComponent.parameters(pathOperations.get(0))); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); }
@Test public void testWithBodyParamExample() throws URISyntaxException { String COMPONENT_NAME = "path_operation_with_body_param_example"; Path outputDirectory = getOutputFile(COMPONENT_NAME); FileUtils.deleteQuietly(outputDirectory.toFile()); Map<String, String> configMap = new HashMap<>(); configMap.put("swagger2markup.generatedExamplesEnabled", "true"); // enable example //Given Path file = Paths.get(PathOperationComponentTest.class.getResource("/yaml/swagger_petstore_body_examples.yaml").toURI()); Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder(configMap).build(); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).withConfig(config) .build(); Swagger swagger = converter.getContext().getSwagger(); io.swagger.models.Path path = swagger.getPaths().get("/users"); List<PathOperation> pathOperations = PathUtils.toPathOperationsList("/users", path); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new PathOperationComponent(context, new DefinitionDocumentResolverFromOperation(context), new SecurityDocumentResolver(context)). apply(markupDocBuilder, PathOperationComponent.parameters(pathOperations.get(0))); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); }
@Test public void testBodyParameterComponent() throws URISyntaxException { //Given Path file = Paths.get(AsciidocConverterTest.class.getResource("/yaml/swagger_petstore.yaml").toURI()); Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder().withFlatBody().build(); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).withConfig(config).build(); Swagger swagger = converter.getContext().getSwagger(); io.swagger.models.Path path = swagger.getPaths().get("/pets"); List<PathOperation> pathOperations = PathUtils.toPathOperationsList("/pets", path); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new BodyParameterComponent(converter.getContext(), new DefinitionDocumentResolverFromOperation(context)) .apply(markupDocBuilder, BodyParameterComponent.parameters(pathOperations.get(0), new ArrayList<>())); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); } }
public PathsDocument(Swagger2MarkupConverter.Context context) { super(context); this.pathOperationComponent = new PathOperationComponent(context, new DefinitionDocumentResolverFromOperation(context), new SecurityDocumentResolver(context)); this.operationDocumentNameResolver = new OperationDocumentNameResolver(context); this.operationDocumentResolverDefault = new OperationDocumentResolverDefault(context); if (logger.isDebugEnabled()) { if (config.isGeneratedExamplesEnabled()) { logger.debug("Generate examples is enabled."); } else { logger.debug("Generate examples is disabled."); } if (config.isSeparatedOperationsEnabled()) { logger.debug("Create separated operation files is enabled."); } else { logger.debug("Create separated operation files is disabled."); } } }
public PathsDocument(Swagger2MarkupConverter.Context context) { super(context); this.pathOperationComponent = new PathOperationComponent(context, new DefinitionDocumentResolverFromOperation(context), new SecurityDocumentResolver(context)); this.operationDocumentNameResolver = new OperationDocumentNameResolver(context); this.operationDocumentResolverDefault = new OperationDocumentResolverDefault(context); if (logger.isDebugEnabled()) { if (config.isGeneratedExamplesEnabled()) { logger.debug("Generate examples is enabled."); } else { logger.debug("Generate examples is disabled."); } if (config.isSeparatedOperationsEnabled()) { logger.debug("Create separated operation files is enabled."); } else { logger.debug("Create separated operation files is disabled."); } } }