Here's my Cactus test:
public class UserCactusTest extends ServletTestCase {
private UserController list = new UserController();
private UserFormController form = new UserFormController();
protected void setUp() throws Exception {
super.setUp();
ApplicationContext ctx =
WebApplicationContextUtils
.getRequiredWebApplicationContext(
session.getServletContext());
UserManager userManager =
(UserManager) ctx.getBean("userManager");
list.setUserManager(userManager);
form.setUserManager(userManager);
// needed to prevent NPE with getMessageSourceAccessor()
form.setApplicationContext(ctx);
}
public void beginAddUser(WebRequest wRequest) {
wRequest.addParameter("firstName", "Dion", "post");
wRequest.addParameter("lastName", "Almaer", "post");
}
public void testAddUser() throws Exception {
form.handleRequest(request, response);
assertNotNull(request.getSession().getAttribute("message"));
}
public void testUserList() throws Exception {
ModelAndView mav = list.handleRequest(request, response);
Map m = mav.getModel();
assertNotNull(m.get("users"));
assertEquals("userList", mav.getViewName());
}
}
Full stack trace (you asked for it ;-):
[cactus] Testsuite: org.appfuse.web.UserCactusTest
[cactus] Tests run: 2, Failures: 0, Errors: 1, Time elapsed: 0.551 sec
[cactus] ------------- Standard Error -----------------
[cactus] log4j:WARN No appenders could be found for logger
(org.apache.cactus.internal.configuration.ConfigurationInitializer).
[cactus] log4j:WARN Please initialize the log4j system properly.
[cactus] ------------- ---------------- ---------------
[cactus] Testcase: testAddUser(org.appfuse.web.UserCactusTest):
Caused an ERROR
[cactus] No message found under code 'user.saved' for locale 'en_US'.
[cactus] org.springframework.context.NoSuchMessageException: No
message found under code 'user.saved' for locale 'en_US'.
[cactus] at
org.springframework.context.support.DelegatingMessageSource.getMessage(DelegatingMessageSource.java:65)
[cactus] at
org.springframework.context.support.AbstractApplicationContext.getMessage(AbstractApplicationContext.java:732)
[cactus] at
org.springframework.context.support.MessageSourceAccessor.getMessage(MessageSourceAccessor.java:149)
[cactus] at
org.appfuse.web.UserFormController.onSubmit(UserFormController.java:90)
[cactus] at
org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:258)
[cactus] at
org.appfuse.web.UserFormController.processFormSubmission(UserFormController.java:69)
[cactus] at
org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:250)
[cactus] at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
[cactus] at
org.appfuse.web.UserCactusTest.testAddUser(UserCactusTest.java:36)
[cactus] at
org.apache.cactus.internal.AbstractCactusTestCase.runBareServer(AbstractCactusTestCase.java:153)
[cactus] at
org.apache.cactus.internal.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:119)
[cactus] at
org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody0(AbstractWebTestController.java:93)
[cactus] at
org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody1$advice(AbstractWebTestController.java:224)
[cactus] at
org.apache.cactus.internal.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java)
[cactus] at
org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody2(ServletTestRedirector.java:101)
[cactus] at
org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody3$advice(ServletTestRedirector.java:224)
[cactus] at
org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java)
[cactus] at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
[cactus] at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
[cactus] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
[cactus] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
[cactus] at
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:142)
[cactus] at
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58)
[cactus] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
[cactus] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
[cactus] at
org.appfuse.web.MessageFilter.doFilter(MessageFilter.java:33)
[cactus] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
[cactus] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
[cactus] at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
[cactus] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
[cactus] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
[cactus] at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
[cactus] at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
[cactus] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
[cactus] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
[cactus] at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
[cactus] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
[cactus] at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
[cactus] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
[cactus] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
[cactus] at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[cactus] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
[cactus] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
[cactus] at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
[cactus] at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
[cactus] at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
[cactus] at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
[cactus] at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
[cactus] at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
[cactus] at java.lang.Thread.run(Thread.java:613)
[cactus] Test org.appfuse.web.UserCactusTest FAILED
Here's the stack trace if I do the same action in Tomcat. Like I
said, the same WAR that Cactus uses works fine in Tomcat - here's that
stack trace:
DEBUG - UserFormController.onSubmit(77) | entering 'onSubmit' method...
DEBUG - UserValidator.validate(17) | entering 'validate' method...
DEBUG - UserController.handleRequest(24) | entering 'handleRequest' method...
Matt
On 8/15/06, Kazuhito SUGURI <[EMAIL PROTECTED]> wrote:
Hi Matt,
In article <[EMAIL PROTECTED]>,
Tue, 15 Aug 2006 18:18:18 -0600,
"Matt Raible" <[EMAIL PROTECTED]> wrote:
mraible> I'm testing a Spring MVC 2.0 (RC1) application with Cactus. When I
mraible> run my cactified WAR in Tomcat, everything works fine. However, when
mraible> I run it in Cactus, I get:
mraible>
mraible> [cactus] No message found under code 'user.saved' for locale
'en_US'.
mraible> [cactus] org.springframework.context.NoSuchMessageException: No
mraible> message found under code 'user.saved' for locale 'en_US'.
mraible> [cactus] at
mraible>
org.springframework.context.support.DelegatingMessageSource.getMessage(DelegatingMessageSource.java:65)
mraible> [cactus] at
mraible>
org.springframework.context.support.AbstractApplicationContext.getMessage(AbstractApplicationContext.java:698)
mraible> [cactus] at
mraible>
org.springframework.context.support.MessageSourceAccessor.getMessage(MessageSourceAccessor.java:149)
mraible> [cactus] at
mraible> org.appfuse.web.UserFormController.onSubmit(UserFormController.java:90)
I cannot find any Cactus classes from the stack trace.
Could you post the full stack trace?
Best Regards,
----
Kazuhito SUGURI
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]