1 package com.atlassian.plugin.web.model;
2
3 import com.atlassian.plugin.PluginAccessor;
4 import com.atlassian.plugin.web.renderer.WebPanelRenderer;
5 import com.google.common.collect.ImmutableList;
6 import junit.framework.TestCase;
7
8 import java.util.Collections;
9
10 import static org.mockito.Mockito.mock;
11 import static org.mockito.Mockito.when;
12
13 public class EmbeddedTemplateWebPanelTest extends TestCase
14 {
15 public void testGetHtml()
16 {
17 final PluginAccessor accessorMock = mock(PluginAccessor.class);
18 when(accessorMock.getEnabledModulesByClass(WebPanelRenderer.class)).thenReturn(Collections.<WebPanelRenderer>emptyList());
19
20 final EmbeddedTemplateWebPanel webPanel = new EmbeddedTemplateWebPanel(accessorMock);
21 webPanel.setResourceType("static");
22 webPanel.setTemplateBody("body");
23
24 assertEquals("body", webPanel.getHtml(Collections.<String, Object>emptyMap()));
25 }
26
27 public void testUnsupportedResourceType()
28 {
29 final PluginAccessor accessorMock = mock(PluginAccessor.class);
30 final WebPanelRenderer renderer = mock(WebPanelRenderer.class);
31 when(renderer.getResourceType()).thenReturn("velocity");
32 when(accessorMock.getEnabledModulesByClass(WebPanelRenderer.class)).thenReturn(ImmutableList.of(renderer));
33
34 final EmbeddedTemplateWebPanel webPanel = new EmbeddedTemplateWebPanel(accessorMock);
35 webPanel.setResourceType("unsupported-type");
36 webPanel.setTemplateBody("body");
37
38 final String result = webPanel.getHtml(Collections.<String, Object>emptyMap());
39 assertNotNull(result);
40 assertTrue(result.toLowerCase().contains("error"));
41 }
42 }