1   package com.atlassian.plugins.codegen;
2   
3   import java.util.Set;
4   
5   import com.atlassian.plugins.codegen.modules.PluginModuleCreatorRegistry;
6   import com.atlassian.plugins.codegen.modules.common.servlet.ServletFilterModuleCreator;
7   import com.atlassian.plugins.codegen.modules.jira.WorkflowPostFunctionModuleCreator;
8   
9   import org.junit.Test;
10  
11  import static org.junit.Assert.assertTrue;
12  
13  /**
14   *
15   */
16  public class BasicModuleGeneratorTest extends AbstractCodegenTestCase
17  {
18  
19      @Test
20      public void hasCommonModules() throws Exception
21      {
22          Set<Class> moduleKeys = pluginModuleCreatorRegistry.getModuleCreatorsForProduct(PluginModuleCreatorRegistry.JIRA)
23                  .keySet();
24          assertTrue(moduleKeys.contains(WorkflowPostFunctionModuleCreator.class));
25          assertTrue(moduleKeys.contains(ServletFilterModuleCreator.class));
26      }
27  /*
28      @Test
29      public void createsMultipleFiles() throws Exception {
30  
31          PluginModuleLocation moduleLocation = new PluginModuleLocation.Builder(srcDir)
32                  .templateDirectory(templateDir)
33                  .pluginXml(pluginXml)
34                  .build();
35  
36          String functionName = "MyPostFunction";
37          String factoryName = functionName + "Factory";
38          String inputName = "my-post-function-input.vm";
39          String viewName = "my-post-function.vm";
40  
41          File packageDir = new File(srcDir,"com/atlassian/test/");
42  
43          File javaFunctionClass = new File(packageDir,functionName + ".java");
44          File javaFactoryClass = new File(packageDir,factoryName + ".java");
45          File inputTemplate = new File(templateDir,inputName);
46          File viewTemplate = new File(templateDir,viewName);
47  
48          PluginModuleCreatorFactoryImpl generator = new JiraPluginModuleCreatorFactory(moduleLocation);
49          WorkflowPostFunctionProperties props = new WorkflowPostFunctionProperties();
50          props.setFullyQualifiedClassname("com.atlassian.test." + functionName);
51          props.setDescription("MY function does something awesome");
52          props.setDeletable(true);
53          props.setOrderable(true);
54          props.setUnique(false);
55  
56          generator.generate(JiraPluginModuleCreatorFactory.WORKFLOW_POST_FUNCTION_MODULE,props);
57  
58          assertTrue(javaFunctionClass.exists());
59          assertTrue(javaFactoryClass.exists());
60          assertTrue(inputTemplate.exists());
61          assertTrue(viewTemplate.exists());
62      }
63      */
64  }