jakarta-cactus-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pedro Nevado <pnev...@javato.com>
Subject Re: Cactus test and Struts
Date Wed, 16 Mar 2005 21:11:49 GMT
Bryan,
I think the answer to your problems must be in your web.xml and  
struts_config.xml.
I map my actions in my web.xml to *.do,   and it works. I mean, I do  
not include my servletcontext path in the request.getDispatcher(); you  
did. Simplify and try without /lease/.
Regards,
Pedro

El 16/03/2005, a las 21:29, bryan hansen escribió:

> Sorry Pedro, I looked a little closer and noticed that
> you had it setup that way. I have modified my test
> case to match yours and I still get a 404 error?!?
>
> protected void setUp() throws Exception {
>  dispatcher =
> request.getRequestDispatcher("/lease/leaseSummary.do");
> }
>
> public void testAction() throws Exception {
>   dispatcher.forward(request, response);
>   System.out.println("\n\n\n\n\n\n WE HAVE FINISHED
> THE TEST \n\n\n\n\n\n");
>   assertTrue(true);
> }
>
> [cactus] 12:18:45,165 DEBUG
> HttpClientConnectionHelper: >connect =
> [org.apache.commons.httpclient.util.HttpURLConnection:http:// 
> localhost:8080/gpm-cactus/ServletRedirector? 
> Cactus_TestMethod=testAction&Cactus_TestClass=org.lds.ics.pfd.fmat.leas 
> e.action.TestLeaseSummaryAction&Cactus_AutomaticSession=true&Cactus_Ser 
> vice=CALL_TEST]
>     [cactus] 12:18:45,185 DEBUG
> AutoReadHttpURLConnection: Original connection =
> org.apache.commons.httpclient.util.HttpURLConnection:http://localhost: 
> 8080/gpm-cactus/ServletRedirector? 
> Cactus_TestMethod=testAction&Cactus_TestClass=org.lds.ics.pfd.fmat.leas 
> e.action.TestLeaseSummaryAction&Cactus_AutomaticSession=true&Cactus_Ser 
> vice=CALL_TEST
>     [cactus] 12:18:45,185 DEBUG HttpURLConnection:
> enter HttpURLConnection.getInputStream()
>     [cactus] 12:18:45,185 DEBUG HttpURLConnection:
> enter HttpURLConnection.getHeaderField(String)
>     [cactus] 12:18:45,185 DEBUG
> AutoReadHttpURLConnection: Content-Length : [-1]
>     [cactus] 12:18:45,235 DEBUG HttpURLConnection:
> enter HttpURLConnection.getHeaderField(String)
>     [cactus] 12:18:45,235 DEBUG wire: << "[\r][\n]"
>     [cactus] 12:18:45,235 DEBUG wire: << "[\r][\n]"
>     [cactus] 12:18:45,235 DEBUG wire: << "[\r][\n]"
>     [cactus] 12:18:45,235 DEBUG wire: << "[\r][\n]"
>     [cactus] 12:18:45,235 DEBUG wire: << "[\r][\n]"
>     [cactus] 12:18:45,235 DEBUG wire: << "[\r][\n]"
>     [cactus] 12:18:45,235 DEBUG wire: << "
> <HTML>[\r][\n]"
>     [cactus] 12:18:45,235 DEBUG wire: << "   <HEAD>
> [\r][\n]"
>     [cactus] 12:18:45,235 DEBUG wire: << "
> [\r][\n]"
>     [cactus] 12:18:45,235 DEBUG wire: << "      <LINK
> rel="stylesheet" type="text/css"
> href="/gpm-cactus/css/fmat.css; 
> jsessionid=1B77BABBBBB9945D098E8AD673E38934">[\r][\n]"
>     [cactus] 12:18:45,255 DEBUG wire: << "
> <TITLE>FMAT - 404 Error</TITLE>[\r][\n]"
>     [cactus] 12:18:45,255 DEBUG wire: << "
> </HEAD>[\r][\n]"
>     [cactus] 12:18:45,255 DEBUG wire: << "   <BODY
> class="bodyMain">[\r][\n]"
>     [cactus] 12:18:45,255 DEBUG wire: << "      <TABLE
> border="0" width="100%" cellspacing="0">[\r][\n]"
>     [cactus] 12:18:45,255 DEBUG wire: << "
> <TR>[\r][\n]"
>     [cactus] 12:18:45,255 DEBUG wire: << "
> <TD>[\r][\n]"
>
> --- Pedro Nevado <pnevado@javato.com> wrote:
>
>> Bryan,
>>
>> I get the reference in the setUp() method, not in
>> the begin() or beginXXX(),
>> so you can use the request object. It is in my code.
>> Regards,
>> Pedro
>>
>> -----Mensaje original-----
>> De: bryan hansen [mailto:bh5k@yahoo.com]
>> Enviado el: miercoles, 16 de marzo de 2005 19:00
>> Para: Cactus Users List
>> Asunto: RE: Cactus test and Struts
>>
>>
>> Pedro how are you getting a reference to the
>> RequestDispatcher? The WebRequest from Cactus
>> doesn't
>> make it available?
>>
>> Bryan
>>
>> --- Pedro Nevado <pnevado@javato.com> wrote:
>>> I use Cactus without StrutsTestCase to test my
>>> servlet 2.4 applications.
>>>
>>> Here it is some code:
>>>
>>> public class EmailEnvioActionTest extends
>>> ServletTestCase {
>>>
>>> private static RequestDispatcher dispatcher;
>>>
>>> protected void setUp() throws DaoException {
>>>    dispatcher =
>>>
>>
> request.getRequestDispatcher("/email_VistaPrevia_Submit.do");
>>>    assert dispatcher != null : "dispatcher not
>>> null";
>>> }
>>>
>>> public void testCaso_1() throws IOException,
>>> ServletException {
>>>         dispatcher.forward(request, response);
>>> }
>>>
>>> I do not instantiate in my test an ActionServlet
>> if
>>> I want to test an
>>> Action. I use a dispatcher to put in place all the
>>> Struts machinery, and I
>>> focus the test on the request parameters and
>>> attributes, and the session
>>> attributes, that I send and what to do with them.
>>>
>>> I hope this helps.
>>> Regards.
>>> Pedro
>>>
>>> -----Mensaje original-----
>>> De: Nicolas Chalumeau
>>> [mailto:nicolas.chalumeau@gmail.com]
>>> Enviado el: miircoles, 16 de marzo de 2005 10:19
>>> Para: Cactus Users List
>>> Asunto: Re: Cactus test and Struts
>>>
>>>
>>> Hi bryan
>>>
>>> I will not answer your question as I don't know (I
>>> didn't search ;) so ...)
>>>
>>> I personnally use CactusStrutsTestCase to test my
>>> Action
>>> (http://strutstestcase.sourceforge.net/). It
>> include
>>> all the
>>> mechanisme to load the struts-config, execute
>> plugin
>>> ... Maybe it
>>> could solve some of your problems.
>>>
>>> If you choose this solution the StrutsTestCase
>>> mailling should be the
>>> best place to ask in that case.
>>>
>>> Nicolas,
>>>
>>> On Tue, 15 Mar 2005 13:41:20 -0800 (PST), bryan
>>> hansen <bh5k@yahoo.com>
>>> wrote:
>>>> We are using cactus to test some struts actions.
>> I
>>> am
>>>> getting an error and not sure what the cause is.
>>> BTW
>>>> if somebody has found a better way to do this, I
>>> am
>>>> open for suggestions.
>>>>
>>>> We simply add the URI that we want to request
>> and
>>> the
>>>> appropriate paramaters in the begin method:
>>>>
>>>> private void beginAction(WebRequest request) {
>>>>   request.addHeader("URI",
>>> "/lease/leaseSummary.do");
>>>>   request.addParameter("command", "viewLease");
>>>>   request.addParameter("itemId","1301");
>>>>   request.addParameter("structureId", "1111");
>>>> }
>>>>
>>>> We then access the action servlet:
>>>>
>>>> public void testAction() throws Exception {
>>>>   ActionServlet servlet = new ActionServlet();
>>>>   servlet.init(config);
>>>>   UserSessionValues usv = new
>> UserSessionValues();
>>>>   session.setAttribute("userInfo", usv);
>>>>
>>>>   servlet.doPost(request, response);
>>>>
>>>>   UserSessionValues usvSession =
>>> (UserSessionValues)
>>>> request.getSession().getAttribute("userInfo");
>>>>
>>>>    assertNotNull(usvSession);
>>>>
>>>> }
>>>>
>>>> The output from this test results in a bunch of
>>> debug
>>>> code, but ultimately this:
>>>>
>>>>     [cactus] 14:09:54,114 DEBUG wire: <<
>> "HTTP/1.1
>>> 404
>>>> Invalid path /ServletRedirector was
>>> requested[\r][\n]"
>>>>
>>>> I get the same error message on Tomcat and
>> JBoss.
>>>>
>>>> Any ideas?
>>>>
>>>> Thanks,
>>>>
>>>> Bryan
>>>>
>>>>
>> __________________________________________________
>>>> Do You Yahoo!?
>>>> Tired of spam?  Yahoo! Mail has the best spam
>>> protection around
>>>> http://mail.yahoo.com
>>>>
>>>>
>>>
>>
> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail:
>>> cactus-user-unsubscribe@jakarta.apache.org
>>>> For additional commands, e-mail:
>>> cactus-user-help@jakarta.apache.org
>>>>
>>>>
>>>
>>>
>>
> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
>>> cactus-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail:
>>> cactus-user-help@jakarta.apache.org
>>>
>>>
>>>
>>>
>>>
>>
> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
>>> cactus-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail:
>>> cactus-user-help@jakarta.apache.org
>>>
>>>
>>
>>
>>
>> __________________________________
>> Do you Yahoo!?
>> Yahoo! Sports - Sign up for Fantasy Baseball.
>> http://baseball.fantasysports.yahoo.com/
>>
>>
> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> cactus-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail:
>> cactus-user-help@jakarta.apache.org
>>
>>
>>
> === message truncated ===
>
>
>
> 		
> __________________________________
> Do you Yahoo!?
> Make Yahoo! your home page
> http://www.yahoo.com/r/hs
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cactus-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: cactus-user-help@jakarta.apache.org
>


Mime
View raw message