1   /*
2    * DigesterPluginTest.java
3    * JUnit based test
4    *
5    * Created on 23 de Maio de 2005, 06:00
6    */
7   
8   package org.thema.scriptware.digester;
9   
10  import java.io.FileInputStream;
11  import java.io.IOException;
12  import java.util.ArrayList;
13  import java.util.HashMap;
14  import junit.framework.*;
15  import org.xml.sax.SAXException;
16  
17  
18  /***
19   *
20   * @author Eduardo M . Sasso
21   */
22  public class DigesterPluginTest extends TestCase {
23      private DigesterPlugin dp;
24      
25      public DigesterPluginTest(String testName) {
26          super(testName);
27      }
28      
29      protected void setUp() throws Exception {
30          FileInputStream arquivo = new FileInputStream("C://Scriptware//web//META-INF//plugins.xml");
31          dp = new DigesterPlugin(arquivo);
32      }
33      
34      protected void tearDown() throws Exception {
35      }
36      
37      public static Test suite() {
38          TestSuite suite = new TestSuite(DigesterPluginTest.class);
39          
40          return suite;
41      }
42      
43      /***
44       * Test of digest method, of class org.thema.scriptware.digester.DigesterPlugin.
45       */
46      public void testDigest() {
47          try {
48              dp.digest();
49          } catch (IOException e) {
50              fail(e.getMessage());
51          } catch (SAXException ex) {
52              fail(ex.getMessage());
53          }
54      }
55      public void testPlugin(){
56          try {
57              dp.digest();
58          } catch (Exception e) {
59              fail(e.getMessage());
60          }
61          
62          HashMap plugins = (HashMap)dp.getPlugins();
63          Plugin plugin = (Plugin)plugins.get("egv$");
64          
65          assertEquals("egv$",plugin.getName());
66          assertEquals(2,plugin.getScripts().size());
67      }
68      
69      public void testScript(){
70          try {
71              dp.digest();
72          } catch (Exception e) {
73              fail(e.getMessage());
74          }
75          
76          HashMap plugins = (HashMap)dp.getPlugins();
77          Plugin plugin = (Plugin)plugins.get("egv$");
78                  
79          ArrayList al = plugin.getScripts();
80          Script script = (Script)al.get(1);
81          
82          assertEquals("user_objects",script.getName());
83          assertEquals("ddl",script.getType());
84          
85          assertNotNull(script.getSql());        
86      }
87      
88      public void testParams(){
89          try {
90              dp.digest();
91          } catch (Exception e) {
92              fail(e.getMessage());
93          }
94          
95          HashMap plugins = (HashMap)dp.getPlugins();
96          Plugin plugin = (Plugin)plugins.get("egv$");
97                  
98          ArrayList al = plugin.getScripts();
99          Script script = (Script)al.get(1);
100         
101         ArrayList al1 = script.getParams();
102         Param param = (Param)al1.get(1);
103         
104         assertEquals(2,al1.size());
105         assertEquals("rownum",param.getName());        
106         assertEquals("Número de Linhas",param.getDescription());
107     }
108     
109 }