@Override public int render(Renderer renderer, ContentStore db, JBakeConfiguration config) throws RenderingException { if (config.getRenderFeed()) { try { //TODO: refactor this. the renderer has a reference to the configuration renderer.renderFeed(config.getFeedFileName()); return 1; } catch (Exception e) { throw new RenderingException(e); } } else { return 0; } }
@Test(expected = RenderingException.class) public void propogatesRenderingException() throws Exception { FeedRenderer renderer = new FeedRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderFeed()).thenReturn(true); when(configuration.getFeedFileName()).thenReturn("mockfeedfile.xml"); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); doThrow(new Exception()).when(mockRenderer).renderFeed(anyString()); renderer.render(mockRenderer, contentStore, configuration); verify(mockRenderer, never()).renderFeed("random string"); }
@Test public void renderFeed() throws Exception { renderer.renderFeed("feed.xml"); File outputFile = new File(destinationFolder, "feed.xml"); Assert.assertTrue(outputFile.exists()); // verify String output = FileUtils.readFileToString(outputFile, Charset.defaultCharset()); for (String string : getOutputStrings("feed")) { assertThat(output).contains(string); } }
@Test public void doesNotRenderWhenConfigDoesNotRenderFeeds() throws Exception { FeedRenderer renderer = new FeedRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderFeed()).thenReturn(false); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); renderer.render(mockRenderer, contentStore, configuration); verify(mockRenderer, never()).renderFeed(anyString()); }
@Test public void doesRenderWhenConfigDoesRenderFeeds() throws Exception { FeedRenderer renderer = new FeedRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderFeed()).thenReturn(true); when(configuration.getFeedFileName()).thenReturn("mockfeedfile.xml"); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); renderer.render(mockRenderer, contentStore, configuration); verify(mockRenderer, times(1)).renderFeed(anyString()); }
@Override public int render(Renderer renderer, ContentStore db, JBakeConfiguration config) throws RenderingException { if (config.getRenderFeed()) { try { //TODO: refactor this. the renderer has a reference to the configuration renderer.renderFeed(config.getFeedFileName()); return 1; } catch (Exception e) { throw new RenderingException(e); } } else { return 0; } }