/plugin-module-codegen-engine/src/test/java/com/atlassian/plugins/codegen/modules/jira/SearchRequestViewTest.java
https://bitbucket.org/mmeinhold/amps · Java · 212 lines · 165 code · 44 blank · 3 comment · 0 complexity · b425e6b6d12fc5810e90871640a3aeb7 MD5 · raw file
- package com.atlassian.plugins.codegen.modules.jira;
- import com.atlassian.plugins.codegen.AbstractModuleCreatorTestCase;
- import com.atlassian.plugins.codegen.modules.common.Resource;
- import org.junit.Before;
- import org.junit.Test;
- import static junit.framework.Assert.assertEquals;
- import static junit.framework.Assert.assertNotNull;
- import static org.junit.Assert.assertNull;
- /**
- * @since 3.6
- */
- public class SearchRequestViewTest extends AbstractModuleCreatorTestCase<SearchRequestViewProperties>
- {
- public static final String EXT = "html";
- public static final String CTYPE = "text/html";
- public SearchRequestViewTest()
- {
- super("search-request-view", new SearchRequestViewModuleCreator());
- }
- @Before
- public void setupProps() throws Exception
- {
- setProps(new SearchRequestViewProperties(PACKAGE_NAME + ".MySearchRequestView"));
- props.setIncludeExamples(false);
- props.setFileExtension(EXT);
- props.setContentType(CTYPE);
- }
- @Test
- public void classFileIsGenerated() throws Exception
- {
- getSourceFile(PACKAGE_NAME, "MySearchRequestView");
- }
- @Test
- public void unitTestFileIsGenerated() throws Exception
- {
- getTestSourceFile(TEST_PACKAGE_NAME, "MySearchRequestViewTest");
- }
-
- @Test
- public void moduleHasDefaultKey() throws Exception
- {
- assertEquals("my-search-request-view",
- getGeneratedModule().attributeValue("key"));
- }
-
- @Test
- public void moduleHasClass() throws Exception
- {
- assertEquals(PACKAGE_NAME + ".MySearchRequestView",
- getGeneratedModule().attributeValue("class"));
- }
-
- @Test
- public void moduleHasExtension() throws Exception
- {
- assertEquals(EXT, getGeneratedModule().attributeValue("fileExtension"));
- }
- @Test
- public void moduleHasContentType() throws Exception
- {
- assertEquals(CTYPE, getGeneratedModule().attributeValue("contentType"));
- }
- @Test
- public void resourceIsAdded() throws Exception
- {
- props.getResources().add(cssResource);
-
- assertNotNull(getGeneratedModule().selectSingleNode("resource"));
- }
-
- @Test
- public void resourceHasName() throws Exception
- {
- props.getResources().add(cssResource);
-
- assertEquals("style.css", getGeneratedModule().selectSingleNode("resource/@name").getText());
- }
- @Test
- public void resourceHasLocation() throws Exception
- {
- props.getResources().add(cssResource);
- assertEquals("com/example/plugin/style.css", getGeneratedModule().selectSingleNode("resource/@location").getText());
- }
-
- @Test
- public void resourceHasType() throws Exception
- {
- props.getResources().add(cssResource);
- assertEquals("download", getGeneratedModule().selectSingleNode("resource/@type").getText());
- }
- @Test
- public void namePatternResourceAdded() throws Exception
- {
- props.getResources().add(cssNamePatternResource);
- assertNotNull(getGeneratedModule().selectSingleNode("resource"));
- }
-
- @Test
- public void namePatternResourceHasNamePattern() throws Exception
- {
- props.getResources().add(cssNamePatternResource);
-
- assertEquals("*.css", getGeneratedModule().selectSingleNode("resource/@namePattern").getText());
- }
- @Test
- public void namePatternResourceHasLocation() throws Exception
- {
- props.getResources().add(cssNamePatternResource);
-
- assertEquals("com/example/plugin", getGeneratedModule().selectSingleNode("resource/@location").getText());
- }
- @Test
- public void namePatternResourceHasType() throws Exception
- {
- props.getResources().add(cssNamePatternResource);
- assertEquals("download", getGeneratedModule().selectSingleNode("resource/@type").getText());
- }
- @Test
- public void resourceNameChosenOverPattern() throws Exception
- {
- cssResource.setNamePattern("*.css");
- props.getResources().add(cssResource);
- assertNull(getGeneratedModule().selectSingleNode("resource/@namePattern"));
- }
- @Test
- public void resourceParamHasName() throws Exception
- {
- cssResource.getParams().put("content-type", "text/css");
- props.getResources().add(cssResource);
- assertEquals("content-type", getGeneratedModule().selectSingleNode("resource/param/@name").getText());
- }
- @Test
- public void resourceParamHasValue() throws Exception
- {
- cssResource.getParams().put("content-type", "text/css");
- props.getResources().add(cssResource);
- assertEquals("text/css", getGeneratedModule().selectSingleNode("resource/param/@value").getText());
- }
-
- @Test
- public void secondResourceParamAdded() throws Exception
- {
- cssResource.getParams().put("content-type", "text/css");
- cssResource.getParams().put("awesome", "me");
- props.getResources().add(cssResource);
-
- assertEquals("me", getGeneratedModule().selectSingleNode("resource/param[@name='awesome']/@value").getText());
- }
- @Test
- public void allResourceParamsAdded() throws Exception
- {
- cssResource.getParams().put("content-type", "text/css");
- cssResource.getParams().put("awesome", "me");
- props.getResources().add(cssResource);
-
- assertEquals(2, getGeneratedModule().selectNodes("resource/param").size());
- }
- @Test
- public void secondResourceAdded() throws Exception
- {
- Resource resource2 = new Resource();
- resource2.setName("custom.js");
- resource2.setLocation("com/example/plugin/custom.js");
- resource2.setType("download");
- props.getResources().add(cssResource);
- props.getResources().add(resource2);
-
- assertEquals("com/example/plugin/custom.js",
- getGeneratedModule().selectSingleNode("resource[@name='custom.js']/@location").getText());
- }
- @Test
- public void allResourcesAdded() throws Exception
- {
- Resource resource2 = new Resource();
- resource2.setName("custom.js");
- resource2.setLocation("com/example/plugin/custom.js");
- resource2.setType("download");
- props.getResources().add(cssResource);
- props.getResources().add(resource2);
-
- assertEquals(2, getGeneratedModule().selectNodes("resource").size());
- }
- }