1   package com.atlassian.plugins.codegen.modules.common.component;
2   
3   import java.io.IOException;
4   
5   import com.atlassian.plugins.codegen.AbstractCodegenTestCase;
6   import com.atlassian.plugins.codegen.modules.PluginModuleLocation;
7   
8   import org.apache.commons.io.FileUtils;
9   import org.junit.Before;
10  import org.junit.Test;
11  
12  import static org.junit.Assert.assertTrue;
13  //TODO: update test to use Dom4J
14  
15  /**
16   * @since 3.6
17   */
18  public class ComponentImportTest extends AbstractCodegenTestCase<ComponentImportProperties>
19  {
20  
21      @Before
22      public void runGenerator() throws Exception
23      {
24          setCreator(new ComponentImportModuleCreator());
25          setModuleLocation(new PluginModuleLocation.Builder(srcDir)
26                  .resourcesDirectory(resourcesDir)
27                  .testDirectory(testDir)
28                  .templateDirectory(templateDir)
29                  .build());
30  
31          setProps(new ComponentImportProperties("com.atlassian.SomeInterface"));
32          props.setIncludeExamples(false);
33  
34          creator.createModule(moduleLocation, props);
35      }
36  
37  
38      @Test
39      public void pluginXmlContainsModule() throws IOException
40      {
41          String pluginXmlContent = FileUtils.readFileToString(pluginXml);
42  
43          assertTrue("module not found in plugin xml", pluginXmlContent.contains("<component-import"));
44          assertTrue("module class not found in plugin xml", pluginXmlContent.contains("interface=\"com.atlassian.SomeInterface\""));
45      }
46  
47  }