You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cactus-user@jakarta.apache.org by Vincent Massol <vm...@octo.com> on 2002/08/04 21:44:02 UTC
RE: Using Cactus with WebWork
Hi Patrick,
I have not done it and I have never used webwork (Actually I just
noticed it is now a subproject of opensymphony. Congratulations!).
Ok, I've just had a very quick look at webwork.
I guess it all depends what you want to test. I can see several
possibilities :
1/ test your action. You do not need Cactus for that as the Actions are
pure java beans that you can test directly from JUnit easily (using a
Mock Objects approach if need be).
2/ test integration of your action in the container, to ensure that
everything is set up correctly for example.
For 2/, Cactus needs to control the server side, thus you would have to
do something like the following in your testXXX() :
public void testXXX()
{
ServletDispatcher dispatcher = new ServletDispatcher();
dispatcher.init(config);
// Start web work
dispatcher.service(request, response);
// Get a handle on your action
Action action = ActionFactory.getAction("your action name");
// Perform asserts on your action
asssertEquals("xxx", action.getXXX());
}
Note: You need to define all the parameters needed by ServletDispatcher
on the Cactus ServeltRedirector in your web.xml.
Would that do the trick for you ?
Hope it helps (again I have just learned WebWork in 15 minutes by
looking at the ServletDispatcher code so I'm may be completely of the
mark!).
Thanks
-Vincent
> -----Original Message-----
> From: Patrick Lightbody [mailto:plightbo@hotmail.com]
> Sent: 30 July 2002 13:45
> To: cactus-user@jakarta.apache.org
> Subject: Using Cactus with WebWork
>
> Has anyone used Cactus with WebWork? I'd like to be able to have the
> container execute my WW actions and then somehow check the getXxx
methods
> in
> my actions for valid data. Has anyone done this?
>
> -Pat
>
> --
> To unsubscribe, e-mail: <mailto:cactus-user-
> unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:cactus-user-
> help@jakarta.apache.org>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: Using Cactus with WebWork
Posted by Patrick Lightbody <pl...@hotmail.com>.
I have a base action for all my WebWork-based test cases that provides this
function:
protected ActionResult executeAction(String name, Map paramters) {
ActionContext ac = new ActionContext();
ac.setRequest(request);
ac.setParameters(paramters);
ActionContext.setContext(ac);
try {
Action a = webwork.action.factory.ActionFactory.getAction(name);
String result = a.execute();
return new ActionResult(result, a);
} catch (Exception e) {
log.fatal("Could not execute WebWork action", e);
return null;
}
}
public class ActionResult {
private String result;
private Action action;
public ActionResult(String result, Action action) {
this.result = result;
this.action = action;
}
public String getResult() {
return result;
}
public Action getAction() {
return action;
}
}
----- Original Message -----
From: "Vincent Massol" <vm...@octo.com>
To: "'Cactus Users List'" <ca...@jakarta.apache.org>
Sent: Sunday, August 04, 2002 12:48 PM
Subject: RE: Using Cactus with WebWork
> If you make some progress on the subject, could you post back - We could
> add a Howto page on Cactus web page to explain how to do this ... :-)
>
> Thanks
> -Vincent
>
> > -----Original Message-----
> > From: Vincent Massol [mailto:vmassol@octo.com]
> > Sent: 04 August 2002 20:44
> > To: 'Cactus Users List'
> > Cc: 'Patrick Lightbody'
> > Subject: RE: Using Cactus with WebWork
> >
> > Hi Patrick,
> >
> > I have not done it and I have never used webwork (Actually I just
> > noticed it is now a subproject of opensymphony. Congratulations!).
> >
> > Ok, I've just had a very quick look at webwork.
> >
> > I guess it all depends what you want to test. I can see several
> > possibilities :
> >
> > 1/ test your action. You do not need Cactus for that as the Actions
> are
> > pure java beans that you can test directly from JUnit easily (using a
> > Mock Objects approach if need be).
> >
> > 2/ test integration of your action in the container, to ensure that
> > everything is set up correctly for example.
> >
> > For 2/, Cactus needs to control the server side, thus you would have
> to
> > do something like the following in your testXXX() :
> >
> > public void testXXX()
> > {
> > ServletDispatcher dispatcher = new ServletDispatcher();
> > dispatcher.init(config);
> >
> > // Start web work
> > dispatcher.service(request, response);
> >
> > // Get a handle on your action
> > Action action = ActionFactory.getAction("your action name");
> >
> > // Perform asserts on your action
> > asssertEquals("xxx", action.getXXX());
> > }
> >
> > Note: You need to define all the parameters needed by
> ServletDispatcher
> > on the Cactus ServeltRedirector in your web.xml.
> >
> > Would that do the trick for you ?
> >
> > Hope it helps (again I have just learned WebWork in 15 minutes by
> > looking at the ServletDispatcher code so I'm may be completely of the
> > mark!).
> >
> > Thanks
> > -Vincent
> >
> >
> > > -----Original Message-----
> > > From: Patrick Lightbody [mailto:plightbo@hotmail.com]
> > > Sent: 30 July 2002 13:45
> > > To: cactus-user@jakarta.apache.org
> > > Subject: Using Cactus with WebWork
> > >
> > > Has anyone used Cactus with WebWork? I'd like to be able to have the
> > > container execute my WW actions and then somehow check the getXxx
> > methods
> > > in
> > > my actions for valid data. Has anyone done this?
> > >
> > > -Pat
> > >
> > > --
> > > To unsubscribe, e-mail: <mailto:cactus-user-
> > > unsubscribe@jakarta.apache.org>
> > > For additional commands, e-mail: <mailto:cactus-user-
> > > help@jakarta.apache.org>
> >
> >
> >
> > --
> > To unsubscribe, e-mail: <mailto:cactus-user-
> > unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail: <mailto:cactus-user-
> > help@jakarta.apache.org>
>
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>
>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
RE: Using Cactus with WebWork
Posted by Vincent Massol <vm...@octo.com>.
If you make some progress on the subject, could you post back - We could
add a Howto page on Cactus web page to explain how to do this ... :-)
Thanks
-Vincent
> -----Original Message-----
> From: Vincent Massol [mailto:vmassol@octo.com]
> Sent: 04 August 2002 20:44
> To: 'Cactus Users List'
> Cc: 'Patrick Lightbody'
> Subject: RE: Using Cactus with WebWork
>
> Hi Patrick,
>
> I have not done it and I have never used webwork (Actually I just
> noticed it is now a subproject of opensymphony. Congratulations!).
>
> Ok, I've just had a very quick look at webwork.
>
> I guess it all depends what you want to test. I can see several
> possibilities :
>
> 1/ test your action. You do not need Cactus for that as the Actions
are
> pure java beans that you can test directly from JUnit easily (using a
> Mock Objects approach if need be).
>
> 2/ test integration of your action in the container, to ensure that
> everything is set up correctly for example.
>
> For 2/, Cactus needs to control the server side, thus you would have
to
> do something like the following in your testXXX() :
>
> public void testXXX()
> {
> ServletDispatcher dispatcher = new ServletDispatcher();
> dispatcher.init(config);
>
> // Start web work
> dispatcher.service(request, response);
>
> // Get a handle on your action
> Action action = ActionFactory.getAction("your action name");
>
> // Perform asserts on your action
> asssertEquals("xxx", action.getXXX());
> }
>
> Note: You need to define all the parameters needed by
ServletDispatcher
> on the Cactus ServeltRedirector in your web.xml.
>
> Would that do the trick for you ?
>
> Hope it helps (again I have just learned WebWork in 15 minutes by
> looking at the ServletDispatcher code so I'm may be completely of the
> mark!).
>
> Thanks
> -Vincent
>
>
> > -----Original Message-----
> > From: Patrick Lightbody [mailto:plightbo@hotmail.com]
> > Sent: 30 July 2002 13:45
> > To: cactus-user@jakarta.apache.org
> > Subject: Using Cactus with WebWork
> >
> > Has anyone used Cactus with WebWork? I'd like to be able to have the
> > container execute my WW actions and then somehow check the getXxx
> methods
> > in
> > my actions for valid data. Has anyone done this?
> >
> > -Pat
> >
> > --
> > To unsubscribe, e-mail: <mailto:cactus-user-
> > unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail: <mailto:cactus-user-
> > help@jakarta.apache.org>
>
>
>
> --
> To unsubscribe, e-mail: <mailto:cactus-user-
> unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:cactus-user-
> help@jakarta.apache.org>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>