1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.struts2;
23
24 import java.text.SimpleDateFormat;
25 import java.util.Date;
26 import java.util.Map;
27 import java.util.logging.ConsoleHandler;
28 import java.util.logging.Formatter;
29 import java.util.logging.Level;
30 import java.util.logging.LogRecord;
31 import java.util.logging.Logger;
32 import java.util.logging.SimpleFormatter;
33
34 import org.apache.struts2.dispatcher.Dispatcher;
35 import org.apache.struts2.util.StrutsTestCaseHelper;
36 import org.springframework.mock.web.MockServletContext;
37
38 import com.opensymphony.xwork2.XWorkTestCase;
39 import com.opensymphony.xwork2.util.logging.LoggerFactory;
40 import com.opensymphony.xwork2.util.logging.jdk.JdkLoggerFactory;
41
42 /***
43 * Base test case for JUnit testing Struts.
44 */
45 public abstract class StrutsTestCase extends XWorkTestCase {
46
47 static {
48 ConsoleHandler handler = new ConsoleHandler();
49 final SimpleDateFormat df = new SimpleDateFormat("mm:ss.SSS");
50 Formatter formatter = new Formatter() {
51 @Override
52 public String format(LogRecord record) {
53 StringBuilder sb = new StringBuilder();
54 sb.append(record.getLevel());
55 sb.append(':');
56 for (int x=9-record.getLevel().toString().length(); x>0; x--) {
57 sb.append(' ');
58 }
59 sb.append('[');
60 sb.append(df.format(new Date(record.getMillis())));
61 sb.append("] ");
62 sb.append(formatMessage(record));
63 sb.append('\n');
64 return sb.toString();
65 }
66 };
67 handler.setFormatter(formatter);
68 Logger logger = Logger.getLogger("");
69 if (logger.getHandlers().length > 0)
70 logger.removeHandler(logger.getHandlers ()[0]);
71 logger.addHandler(handler);
72 logger.setLevel(Level.WARNING);
73 LoggerFactory.setLoggerFactory(new JdkLoggerFactory());
74 }
75
76 /***
77 * Sets up the configuration settings, XWork configuration, and
78 * message resources
79 */
80 protected void setUp() throws Exception {
81 super.setUp();
82 initDispatcher(null);
83 }
84
85 protected Dispatcher initDispatcher(Map<String,String> params) {
86 Dispatcher du = StrutsTestCaseHelper.initDispatcher(new MockServletContext(), params);
87 configurationManager = du.getConfigurationManager();
88 configuration = configurationManager.getConfiguration();
89 container = configuration.getContainer();
90 return du;
91 }
92
93 protected void tearDown() throws Exception {
94 super.tearDown();
95 StrutsTestCaseHelper.tearDown();
96 }
97
98 }