Repository: incubator-taverna-workbench Updated Branches: refs/heads/master e50757cc2 -> 4282b25f1
Updated tests for taverna 3 Uses a local SPI .. no need for facade Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/commit/9c4dc595 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/tree/9c4dc595 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/diff/9c4dc595 Branch: refs/heads/master Commit: 9c4dc59545301a4bd483c646d3beb481828ce3d8 Parents: e50757c Author: Stian Soiland-Reyes <[email protected]> Authored: Thu Aug 18 12:16:45 2016 +0100 Committer: Stian Soiland-Reyes <[email protected]> Committed: Thu Aug 18 12:16:45 2016 +0100 ---------------------------------------------------------------------- .../taverna/renderers/TestRendererSPI.java | 193 +++++++------------ 1 file changed, 75 insertions(+), 118 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/9c4dc595/taverna-renderers-exts/src/test/java/org/apache/taverna/renderers/TestRendererSPI.java ---------------------------------------------------------------------- diff --git a/taverna-renderers-exts/src/test/java/org/apache/taverna/renderers/TestRendererSPI.java b/taverna-renderers-exts/src/test/java/org/apache/taverna/renderers/TestRendererSPI.java index 36218e7..fc7b8c5 100644 --- a/taverna-renderers-exts/src/test/java/org/apache/taverna/renderers/TestRendererSPI.java +++ b/taverna-renderers-exts/src/test/java/org/apache/taverna/renderers/TestRendererSPI.java @@ -21,133 +21,90 @@ package org.apache.taverna.renderers; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import java.util.HashSet; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; import java.util.List; +import java.util.ServiceLoader; +import org.apache.taverna.renderers.impl.RendererRegistryImpl; import org.junit.Before; import org.junit.Test; - public class TestRendererSPI { - - private static final String TEST_NS = "testNS"; - + + private RendererRegistryImpl rendererRegistry; + + @Before + public void makeRendererRegistry() { + // For the test we'll look up + // META-INF/services/org.apache.taverna.renderers.Renderer + ServiceLoader<Renderer> sl = ServiceLoader.load(Renderer.class, getClass().getClassLoader()); + rendererRegistry = new RendererRegistryImpl(); + List<Renderer> renderers = new ArrayList<>(); + for (Renderer r : sl) { + renderers.add(r); + } + assertFalse("No renderers found", renderers.isEmpty()); + rendererRegistry.setRenderers(renderers); + } + + @Test + public void checkTextHtmlMimeType() { + String mimeType = "text/html"; + String html = "<HTML><HEAD></HEAD><BODY>hello</BODY></HTML>"; + List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(mimeType); + assertEquals(2, renderersForMimeType.size()); + assertEquals("HTMLBrowserRenderer", renderersForMimeType.get(0).getClass().getSimpleName()); + assertEquals("TextRenderer", renderersForMimeType.get(1).getClass().getSimpleName()); + assertTrue(renderersForMimeType.get(0).canHandle("text/html")); + } + + @Test + public void checkSVGMimeType() { + String mimeType = "image/svg+xml"; + String type = "SVG"; + List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(mimeType); + assertEquals("SVGRenderer", renderersForMimeType.get(0).getClass().getSimpleName()); + } + + @Test + public void checkPDFMimeType() throws Exception { + String mimeType = "application/pdf"; + String type = "PDF"; + List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(mimeType); + assertEquals("PDFRenderer", renderersForMimeType.get(0).getClass().getSimpleName()); + } + + @Test + public void checkTextMimeType() { + String mimeType = "text/text"; + String type = "text"; + List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(mimeType); + assertEquals(renderersForMimeType.size(), 1); + assertEquals("TextRenderer", renderersForMimeType.get(0).getClass().getSimpleName()); + } + + @Test + public void checkTextRtfMimeType() { + String mimeType = "text/rtf"; + String type = "textRTF"; + List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(mimeType); + assertEquals(renderersForMimeType.size(), 2); + assertEquals("TextRtfRenderer", renderersForMimeType.get(1).getClass().getSimpleName()); + } + @Test - public void doNothing() { - //do nothing for the moment + public void checkTextXMLMimeType() { + String mimeType = "text/xml"; + String type = "textXML"; + List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(mimeType); + assertEquals(renderersForMimeType.size(), 2); + assertEquals("TextXMLRenderer", renderersForMimeType.get(1).getClass().getSimpleName()); } - -// @Test -// public void getAllRenderers() { -// RendererRegistry rendererRegistry = new RendererRegistry(); -// assertEquals(rendererRegistry.getInstances().size(), 10); -// } -// -// @Test -// public void checkTextHtmlMimeType() throws EmptyListException, MalformedListException, UnsupportedObjectTypeException { -// String mimeType = "text/html"; -// String html = "<HTML><HEAD></HEAD><BODY>hello</BODY></HTML>"; -// EntityIdentifier entityIdentifier = facade.register(html, "utf-8"); -// RendererRegistry rendererRegistry = new RendererRegistry(); -// List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(facade, entityIdentifier, mimeType); -// assertEquals(renderersForMimeType.size(),2); -// assertEquals(renderersForMimeType.get(0).getClass().getSimpleName(), "TextRenderer"); -// assertEquals(renderersForMimeType.get(1).getClass().getSimpleName(), "TextHtmlRenderer"); -// assertTrue(renderersForMimeType.get(0).canHandle("text/html")); -// } -// -// @Test -// public void checkURLMimeType() throws EmptyListException, MalformedListException, UnsupportedObjectTypeException { -// String mimeType = "text/x-taverna-web-url.text"; -// String url = "http://google.com"; -// EntityIdentifier entityIdentifier = facade.register(url); -// RendererRegistry rendererRegistry = new RendererRegistry(); -// List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(facade, entityIdentifier, mimeType); -// assertEquals(renderersForMimeType.size(),2); -// assertEquals(renderersForMimeType.get(0).getClass().getSimpleName(), "TextRenderer"); -// assertEquals(renderersForMimeType.get(1).getClass().getSimpleName(), "TextTavernaWebUrlRenderer"); -// assertTrue(renderersForMimeType.get(1).canHandle("text/x-taverna-web-url.text")); -// } -// -// @Test -// public void checkJMolMimeType() throws EmptyListException, MalformedListException, UnsupportedObjectTypeException { -// String mimeType ="chemical/x-pdb"; -// String jmol = "jmol"; -// EntityIdentifier entityIdentifier = facade.register(jmol); -// RendererRegistry rendererRegistry = new RendererRegistry(); -// List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(facade, entityIdentifier, mimeType); -// assertEquals(renderersForMimeType.size(), 1); -// assertEquals(renderersForMimeType.get(0).getClass().getSimpleName(), "JMolRenderer"); -// assertTrue(renderersForMimeType.get(0).canHandle("chemical/x-mdl-molfile")); -// assertTrue(renderersForMimeType.get(0).canHandle("chemical/x-cml")); -// } -// -// @Test -// public void checkSeqVistaMimeType() throws EmptyListException, MalformedListException, UnsupportedObjectTypeException { -// String mimeType ="chemical/x-swissprot"; -// String type = "seqvista"; -// EntityIdentifier entityIdentifier = facade.register(type); -// RendererRegistry rendererRegistry = new RendererRegistry(); -// List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(facade, entityIdentifier, mimeType); -// assertEquals(renderersForMimeType.size(), 1); -// assertEquals(renderersForMimeType.get(0).getClass().getSimpleName(), "SeqVistaRenderer"); -// assertTrue(renderersForMimeType.get(0).canHandle("chemical/x-embl-dl-nucleotide")); -// assertTrue(renderersForMimeType.get(0).canHandle("chemical/x-fasta")); -// } -// -// @Test -// public void checkSVGMimeType() throws EmptyListException, MalformedListException, UnsupportedObjectTypeException { -// String mimeType ="image/svg+xml"; -// String type = "SVG"; -// EntityIdentifier entityIdentifier = facade.register(type); -// RendererRegistry rendererRegistry = new RendererRegistry(); -// List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(facade, entityIdentifier, mimeType); -// assertEquals(renderersForMimeType.size(), 2); -// assertEquals(renderersForMimeType.get(1).getClass().getSimpleName(), "SVGRenderer"); -// } -// -// @Test -// public void checkTextMimeType() throws EmptyListException, MalformedListException, UnsupportedObjectTypeException { -// String mimeType ="text/text"; -// String type = "text"; -// EntityIdentifier entityIdentifier = facade.register(type); -// RendererRegistry rendererRegistry = new RendererRegistry(); -// List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(facade, entityIdentifier, mimeType); -// assertEquals(renderersForMimeType.size(), 1); -// assertEquals(renderersForMimeType.get(0).getClass().getSimpleName(), "TextRenderer"); -// } -// -// @Test -// public void checkTextRtfMimeType() throws EmptyListException, MalformedListException, UnsupportedObjectTypeException { -// String mimeType ="text/rtf"; -// String type = "textRTF"; -// EntityIdentifier entityIdentifier = facade.register(type); -// RendererRegistry rendererRegistry = new RendererRegistry(); -// List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(facade, entityIdentifier, mimeType); -// assertEquals(renderersForMimeType.size(), 2); -// assertEquals(renderersForMimeType.get(1).getClass().getSimpleName(), "TextRtfRenderer"); -// } -// -// @Test -// public void checkTextXMLMimeType() throws EmptyListException, MalformedListException, UnsupportedObjectTypeException { -// String mimeType ="text/xml"; -// String type = "textXML"; -// EntityIdentifier entityIdentifier = facade.register(type); -// RendererRegistry rendererRegistry = new RendererRegistry(); -// List<Renderer> renderersForMimeType = rendererRegistry.getRenderersForMimeType(facade, entityIdentifier, mimeType); -// assertEquals(renderersForMimeType.size(), 2); -// assertEquals(renderersForMimeType.get(1).getClass().getSimpleName(), "TextXMLRenderer"); -// } -// -// @Before -// public void setDataManager() { -// // dManager = new FileDataManager("testNS", -// // new HashSet<LocationalContext>(), new File("/tmp/fish")); -// dManager = new InMemoryDataManager(TEST_NS, -// new HashSet<LocationalContext>()); -// facade = new DataFacade(dManager); -// } }
