DefinitionDocumentResolverFromDefinition extends DefinitionDocumentResolverDefault { public String apply(String definitionName) { String defaultResolver = super.apply(definitionName); if (defaultResolver != null && config.isSeparatedDefinitionsEnabled()) return defaultString(config.getInterDocumentCrossReferencesPrefix()) + markupDocBuilder.addFileExtension(normalizeName(definitionName)); else return defaultResolver; } DefinitionDocumentResolverFromDefinition(Swagger2MarkupConverter.SwaggerContext context); String apply(String definitionName);  }
@Test public void testDefault() { Swagger2MarkupConverter.SwaggerContext context = createContext(); assertThat(new DefinitionDocumentResolverFromDefinition(context).apply("DefinitionName")).isNull(); }
@Test public void testWithSeparatedDefinitions() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withSeparatedDefinitions() .build(); Swagger2MarkupConverter.SwaggerContext context = createContext(config); assertThat(new DefinitionDocumentResolverFromDefinition(context).apply("DefinitionName")).isNull(); }
@Test public void testWithSeparatedDefinitionsAndInterDocumentCrossReferences() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withSeparatedDefinitions() .withInterDocumentCrossReferences() .build(); Swagger2MarkupConverter.SwaggerContext context = createContext(config); context.setOutputPath(Paths.get("/tmp")); assertThat(new DefinitionDocumentResolverFromDefinition(context).apply("DefinitionName")) .isEqualTo("DefinitionName.adoc"); }
@Test public void testWithInterDocumentCrossReferences() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withInterDocumentCrossReferences() .build(); Swagger2MarkupConverter.SwaggerContext context = createContext(config); context.setOutputPath(Paths.get("/tmp")); assertThat(new DefinitionDocumentResolverFromDefinition(context).apply("DefinitionName")) .isEqualTo("definitions.adoc"); }
@Test public void testWithInterDocumentCrossReferencesAndNoOutputPath() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withInterDocumentCrossReferences() .build(); Swagger2MarkupConverter.SwaggerContext context = createContext(config); assertThat(new DefinitionDocumentResolverFromDefinition(context).apply("DefinitionName")) .isNull(); }
@Test public void testWithInterDocumentCrossReferencesAndPrefix() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withInterDocumentCrossReferences("prefix_") .build(); Swagger2MarkupConverter.SwaggerContext context = createContext(config); context.setOutputPath(Paths.get("/tmp")); assertThat(new DefinitionDocumentResolverFromDefinition(context).apply("DefinitionName")) .isEqualTo("prefix_definitions.adoc"); }
@Test public void testWithInterDocumentCrossReferencesAndMarkdown() { Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withInterDocumentCrossReferences() .withMarkupLanguage(MarkupLanguage.MARKDOWN) .build(); Swagger2MarkupConverter.SwaggerContext context = createContext(config); context.setOutputPath(Paths.get("/tmp")); assertThat(new DefinitionDocumentResolverFromDefinition(context).apply("DefinitionName")) .isEqualTo("definitions.md"); }