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 Denis Avdic <de...@betterway.net> on 2003/10/17 18:05:46 UTC
Freaky behavior
Hello,
I was trying to run my tests and I was getting an unexplained null pointer error in my first method of each test. My buddy at work wrote a short testCactus test and it worked.
Here comes the freaky part:
I copied his methods over to my test and my test worked.
I deleted instructions from his methods and it still worked.
I deleted the beginCactus() method and the endCactus() method and it still worked.
Then I deleted the testCactus() method and I was getting the null pointer error again.
Here is the error:
null
java.lang.NullPointerException
at java.net.URLEncoder.encode(URLEncoder.java:184)
at java.net.URLEncoder.encode(URLEncoder.java:149)
at org.apache.cactus.client.connector.http.HttpUtil.dispatch51_addHttpGetParameters(HttpUtil.java;org/apache/cactus/util/log/LogAspect.aj[1k]:124)
at org.apache.cactus.client.connector.http.HttpUtil.around51_addHttpGetParameters(HttpUtil.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1198)
at org.apache.cactus.client.connector.http.HttpUtil.addHttpGetParameters(HttpUtil.java;org/apache/cactus/util/log/LogAspect.aj[1k]:83)
at org.apache.cactus.client.connector.http.HttpClientConnectionHelper.dispatch50_connect(HttpClientConnectionHelper.java;org/apache/cactus/util/log/LogAspect.aj[1k]:130)
at org.apache.cactus.client.connector.http.HttpClientConnectionHelper.around50_connect(HttpClientConnectionHelper.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1240)
at org.apache.cactus.client.connector.http.HttpClientConnectionHelper.connect(HttpClientConnectionHelper.java;org/apache/cactus/util/log/LogAspect.aj[1k]:114)
at org.apache.cactus.client.connector.http.DefaultHttpClient.callRunTest(DefaultHttpClient.java;org/apache/cactus/util/log/LogAspect.aj[1k]:201)
at org.apache.cactus.client.connector.http.DefaultHttpClient.dispatch49_doTest(DefaultHttpClient.java;org/apache/cactus/util/log/LogAspect.aj[1k]:119)
at org.apache.cactus.client.connector.http.DefaultHttpClient.around49_doTest(DefaultHttpClient.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1240)
at org.apache.cactus.client.connector.http.DefaultHttpClient.doTest(DefaultHttpClient.java;org/apache/cactus/util/log/LogAspect.aj[1k]:115)
at org.apache.cactus.internal.client.WebClientTestCaseDelegate.runWebTest(WebClientTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.aj[1k]:334)
at org.apache.cactus.internal.client.WebClientTestCaseDelegate.runGenericTest(WebClientTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.aj[1k]:282)
at org.apache.cactus.internal.client.WebClientTestCaseDelegate.runTest(WebClientTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.aj[1k]:258)
at org.apache.cactus.server.runner.ServletTestRunner.run(ServletTestRunner.java;org/apache/cactus/util/log/LogAspect.aj[1k]:313)
at org.apache.cactus.server.runner.ServletTestRunner.dispatch139_doGet(ServletTestRunner.java;org/apache/cactus/util/log/LogAspect.aj[1k]:209)
at org.apache.cactus.server.runner.ServletTestRunner.around139_doGet(ServletTestRunner.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1158)
at org.apache.cactus.server.runner.ServletTestRunner.doGet(ServletTestRunner.java;org/apache/cactus/util/log/LogAspect.aj[1k]:185)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:466)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
at java.lang.Thread.run(Thread.java:536)
I'd appreciate any help on this. I mean, it is not a big deal, I just have
public void testCactus(){} after each setUp method in my tests but I was wondering if something else was broke too...
Denis
RE: Question about Servlet TestSuite
Posted by Vincent Massol <vm...@pivolis.com>.
> -----Original Message-----
> From: Bret Kumler [mailto:bkumler@firstam.com]
> Sent: 17 October 2003 22:55
> To: Cactus Users List
> Subject: Question about Servlet TestSuite
>
> I have the following script
>
> package com.test;
>
> import junit.framework.*;
> import org.apache.log4j.Logger;
>
>
>
> public class AllBatTests{
>
>
> private static Logger logger = Logger.getLogger(AllBatTests.class);
>
>
> public static Test suite() {
> TestSuite suite = new TestSuite();
> suite.addTest(com.test.QaServiceBatTest.suite());
> suite.addTest(com.test.QaProductBatTest.suite());
> return suite;
> }
> }
>
> If I change it to
>
> public static Test suite() {
> ServletTestSuite suite = new ServletTestSuite ();
> suite.addTest(com.test.QaServiceBatTest.suite());
> suite.addTest(com.test.QaProductBatTest.suite());
> return suite;
> }
>
> Can I still use JUnit to run the test or do I need seperate test
suites?
I don't understand. What you have written *is* a test suite. As with all
cactus tests you need to use a JUnit test runner to start the test.
-Vincent
RE: Question about Servlet TestSuite
Posted by Vincent Massol <vm...@pivolis.com>.
> -----Original Message-----
> From: Bret Kumler [mailto:bkumler@firstam.com]
> Sent: 17 October 2003 22:55
> To: Cactus Users List
> Subject: Question about Servlet TestSuite
>
> I have the following script
>
> package com.test;
>
> import junit.framework.*;
> import org.apache.log4j.Logger;
>
>
>
> public class AllBatTests{
>
>
> private static Logger logger = Logger.getLogger(AllBatTests.class);
>
>
> public static Test suite() {
> TestSuite suite = new TestSuite();
> suite.addTest(com.test.QaServiceBatTest.suite());
> suite.addTest(com.test.QaProductBatTest.suite());
> return suite;
> }
> }
>
> If I change it to
>
> public static Test suite() {
> ServletTestSuite suite = new ServletTestSuite ();
> suite.addTest(com.test.QaServiceBatTest.suite());
> suite.addTest(com.test.QaProductBatTest.suite());
> return suite;
> }
>
> Can I still use JUnit to run the test or do I need seperate test
suites?
I don't understand. What you have written *is* a test suite. As with all
cactus tests you need to use a JUnit test runner to start the test.
-Vincent
Question about Servlet TestSuite
Posted by Bret Kumler <bk...@firstam.com>.
I have the following script
package com.test;
import junit.framework.*;
import org.apache.log4j.Logger;
public class AllBatTests{
private static Logger logger = Logger.getLogger(AllBatTests.class);
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(com.test.QaServiceBatTest.suite());
suite.addTest(com.test.QaProductBatTest.suite());
return suite;
}
}
If I change it to
public static Test suite() {
ServletTestSuite suite = new ServletTestSuite ();
suite.addTest(com.test.QaServiceBatTest.suite());
suite.addTest(com.test.QaProductBatTest.suite());
return suite;
}
Can I still use JUnit to run the test or do I need seperate test suites?
Thanks
changes in state between beginXXX and testXXX
Posted by Denis Avdic <de...@betterway.net>.
Hello,
I am trying to test cookie login on my site. However I cannot find any
cookies in my test method.
Here is my code snippet:
public void beginLoginCookie (WebRequest wr){
wr.addCookie("www.domain.com:80",ServletUtils.COOKIE_NAME,"myvalue");
wr.setURL("www.domain.com:80", "", "/login.html", null,null);
dBSnapshot();
ServletUtils.log("after snapshot");
}
public void testLoginCookie() throws Exception{
controller.doGet(request,response);
}
My controller servlet cannot find anything in the request.
Does the request reset after begin method? Should I put the cookie
directly into the request in the testLoginCookie() method?
Denis