1   package com.atlassian.plugins.codegen.modules.common.servlet;
2   
3   import com.atlassian.plugins.codegen.AbstractModuleCreatorTestCase;
4   
5   import org.junit.Before;
6   import org.junit.Test;
7   
8   import static junit.framework.Assert.assertEquals;
9   
10  /**
11   * @since 3.6
12   */
13  public class ServletCodegenTest extends AbstractModuleCreatorTestCase<ServletProperties>
14  {   
15      public ServletCodegenTest()
16      {
17          super("servlet", new ServletModuleCreator());
18      }
19  
20      @Before
21      public void setupProps() throws Exception
22      {
23          setProps(new ServletProperties(PACKAGE_NAME + ".MyServlet"));
24          props.setUrlPattern("/myservlet");
25          props.setIncludeExamples(false);
26          props.addInitParam("foo", "bar");
27      }
28  
29      @Test
30      public void classFileIsGenerated() throws Exception
31      {
32          getSourceFile(PACKAGE_NAME, "MyServlet");
33      }
34  
35      @Test
36      public void unitTestFileIsGenerated() throws Exception
37      {
38          getTestSourceFile(PACKAGE_NAME, "MyServletTest");
39      }
40  
41      @Test
42      public void functionalTestFileIsGenerated() throws Exception
43      {
44          getTestSourceFile(FUNC_TEST_PACKAGE_NAME, "MyServletFuncTest");
45      }
46  
47      @Test
48      public void moduleHasDefaultKey() throws Exception
49      {
50          assertEquals("my-servlet", getGeneratedModule().attributeValue("key"));
51      }
52  
53      @Test
54      public void moduleHasClass() throws Exception
55      {
56          assertEquals(PACKAGE_NAME + ".MyServlet", getGeneratedModule().attributeValue("class"));
57      }
58      
59      @Test
60      public void moduleHasUrlPattern() throws Exception
61      {
62          assertEquals("/myservlet", getGeneratedModule().selectSingleNode("url-pattern").getText());
63      }
64      
65      @Test
66      public void moduleHasInitParamName() throws Exception
67      {
68          assertEquals("foo", getGeneratedModule().selectSingleNode("init-param/param-name").getText());
69      }
70      
71      @Test
72      public void moduleHasInitParamValue() throws Exception
73      {
74          assertEquals("bar", getGeneratedModule().selectSingleNode("init-param/param-value").getText());
75      }
76  }