1
2
3
4
5
6
7 package net.sourceforge.addam.ddlrun.runners;
8
9 import junit.framework.TestCase;
10
11 import java.util.HashMap;
12 import java.util.List;
13 import java.util.Map;
14
15 import net.sourceforge.addam.ddlrun.filters.Filter;
16 import net.sourceforge.addam.ddlrun.filters.SelectAllFilter;
17 import net.sourceforge.addam.ddlrun.runners.ScriptGroupRunner;
18 import net.sourceforge.addam.ddlrun.utils.MockReaderFactory;
19 import net.sourceforge.addam.ddlrun.utils.MockRunLogger;
20
21 public class ScriptGroupRunnerUTEST extends TestCase {
22 private static final char SEPARATORCHAR = '/';
23
24 public void testGetExtension() {
25 assertEquals("txt", ScriptGroupRunner.getExtension("foo.txt"));
26 }
27
28 public void testUnknownType() throws Exception {
29 Map contentMap = new HashMap();
30 contentMap.put("group1/master.drv", "script.sql");
31 MockReaderFactory readerFactory = new MockReaderFactory(contentMap);
32 Filter scriptFilter = new SelectAllFilter();
33 HashMap scriptRunnerMap = new HashMap();
34 ScriptGroupRunner groupRunner = new ScriptGroupRunner(readerFactory, scriptFilter, scriptRunnerMap);
35 try {
36 groupRunner.run("group1");
37 } catch (RuntimeException e) {
38 assertEquals("unknown type sql for script script.sql", e.getMessage());
39 }
40 }
41
42 public void testExpectedUsage() throws Exception {
43 Map contentMap = new HashMap();
44 contentMap.put("group1/master.drv", "script1.sql\nscript2.sql\nscript3.ldif");
45 MockReaderFactory readerFactory = new MockReaderFactory(contentMap);
46 Filter scriptFilter = new SelectAllFilter();
47 HashMap scriptRunnerMap = new HashMap();
48 MockRunner jdbcScriptRunner = new MockRunner();
49 scriptRunnerMap.put("sql", jdbcScriptRunner);
50 MockRunner ldapDeploymentRunner = new MockRunner();
51 scriptRunnerMap.put("ldif", ldapDeploymentRunner);
52 MockRunLogger runLogger = new MockRunLogger();
53 ScriptGroupRunner groupRunner = new ScriptGroupRunner(readerFactory, scriptFilter, scriptRunnerMap);
54 groupRunner.addRunLogger(runLogger);
55 groupRunner.run("group1");
56 List logs = runLogger.getSuccessLogs();
57 assertTrue(logs.contains("script1.sql"));
58 assertTrue(logs.contains("script2.sql"));
59 assertTrue(logs.contains("script3.ldif"));
60 }
61
62 }