From ad3937e5dbe3ff30636a43d782c1db4b5d7ea036 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 3 Sep 2018 08:40:46 -0600 Subject: [PATCH] Added unit test for MarkdownFromURL --- .../confluence/MarkdownFromURLUnitTest.java | 46 +++++++++++++++++++ src/test/resources/testMarkdown.md | 1 + 2 files changed, 47 insertions(+) create mode 100644 src/test/java/ut/com/atlassian/plugins/confluence/MarkdownFromURLUnitTest.java create mode 100644 src/test/resources/testMarkdown.md diff --git a/src/test/java/ut/com/atlassian/plugins/confluence/MarkdownFromURLUnitTest.java b/src/test/java/ut/com/atlassian/plugins/confluence/MarkdownFromURLUnitTest.java new file mode 100644 index 0000000..5a92034 --- /dev/null +++ b/src/test/java/ut/com/atlassian/plugins/confluence/MarkdownFromURLUnitTest.java @@ -0,0 +1,46 @@ +package ut.com.atlassian.plugins.confluence; + +import org.junit.Test; +import org.junit.runner.RunWith; +import static org.junit.Assert.assertTrue; + +import org.mockito.*; +import org.mockito.runners.MockitoJUnitRunner; + +import java.util.HashMap; +import java.util.regex.Pattern; +import java.io.File; +import java.net.*; + +import com.atlassian.confluence.content.render.xhtml.ConversionContext; +import com.atlassian.confluence.macro.MacroExecutionException; +import com.atlassian.webresource.api.assembler.PageBuilderService; +import com.atlassian.webresource.api.assembler.RequiredResources; +import com.atlassian.webresource.api.assembler.WebResourceAssembler; + +import com.atlassian.plugins.confluence.markdown.MarkdownFromURLMacro; + +@RunWith (MockitoJUnitRunner.class) +public class MarkdownFromURLUnitTest { + @Mock + ConversionContext conversionContext; + @Mock + PageBuilderService pageBuilderService; + @Mock + WebResourceAssembler webResourceAssembler; + @Mock + RequiredResources requiredResources; + @InjectMocks + MarkdownFromURLMacro markdownMacro; + + @Test + public void testMarkdownRendering() throws MacroExecutionException, MalformedURLException { + Mockito.when(pageBuilderService.assembler()).thenReturn(webResourceAssembler); + Mockito.when(webResourceAssembler.resources()).thenReturn(requiredResources); + Mockito.when(requiredResources.requireWebResource("com.atlassian.plugins.confluence.markdown.confluence-markdown-macro:highlightjs")).thenReturn(requiredResources); + String file = new File("src/test/resources/testMarkdown.md").toURI().toURL().toString(); + @SuppressWarnings({ "rawtypes", "unchecked" }) + String output = markdownMacro.execute(new HashMap(), file, conversionContext); + assertTrue(Pattern.matches("[\\S\\s]*Italic[\\S\\s]*", output)); + } +} \ No newline at end of file diff --git a/src/test/resources/testMarkdown.md b/src/test/resources/testMarkdown.md new file mode 100644 index 0000000..0a0124e --- /dev/null +++ b/src/test/resources/testMarkdown.md @@ -0,0 +1 @@ +*Italic* \ No newline at end of file