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