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]

Reply via email to