Hi Kazuhito Thanks for your reply. I set the break point in my beginXXX and Test Suite() methods it looks like beginXXX is not at all called. It gets into suite() method but not beginXX method. Here is my begin method public void beginBasicAuthentication(WebRequest theRequest) { theRequest.setRedirectorName("ServletRedirectorSecure"); theRequest.setAuthentication(new BasicAuthentication("crawmgr", "webyogis")); System.out.println("beginBasicAuthentication ===== end"); }
public static Test suite() { ServletTestSuite suite = new ServletTestSuite(); suite.addTestSuite(HierarchyHelperTest.class); return suite; } And my security-constraint as follows <security-constraint> <web-resource-collection> <web-resource-name>Servlets</web-resource-name> <description>Protect the Cactus redirector servlet.</description> <url-pattern>/*</url-pattern> (here if I give like the above its giving runtime chained exception , in this case control is not reaching the test method if I set a break point in my testXXX methods) <url-pattern>/ServletRedirectorSecure</url-pattern> (here if I give like the above its giving getting into the test case but its failing to authenticate see the error message** below) <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>UnitTester</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>DS_NTRealm</realm-name> </login-config> <security-role> <role-name>UnitTester</role-name> </security-role> Under tomcat_users.xml <role rolename="UnitTester" /> <rolemap> <role name="UnitTester" group="CALPURNIA\skumar" /> </rolemap> <user name="crawmgr" password="webyogis" roles="UnitTester" /> If I call the cactus service it looks like its working fine (I verified the log) http://wkstn04/test/ServletRedirectorSecure?Cactus_TestClass=com.stratify.datahub.hierarchy.ejb.HierarchyHelperTest&Cactus_TestMethod=testGetHVersionGID&Cactus_AutomaticSession=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST So it means some where I did some wrong setup. I couldn't find out. Please advise me what are the things I need to trace this one . In case if I set the security constraint like this <url-pattern>/*</url-pattern> I am getting this error I know its coming from my application but in this case its getPrincipleUser() is null ** com.stratify.datahub.hierarchy.ejb.HierarchyServiceSysException: HierarchyService system error at com.stratify.datahub.hierarchy.ejb.HierarchyVersionDAO.setHierarchy(HierarchyVersionDAO.java:797) at com.stratify.datahub.hierarchy.ejb.HierarchyVersionDAO.findByHierarchyGID(HierarchyVersionDAO.java:161) at com.stratify.datahub.hierarchy.ejb.HierarchyVersionDAO.findByHierarchyLanguages(HierarchyVersionDAO.java:140) at com.stratify.datahub.hierarchy.ejb.HierarchyHelper.getHVersionGID(HierarchyHelper.java:134) at com.stratify.datahub.hierarchy.ejb.HierarchyHelperTest.testGetHVersionGID(HierarchyHelperTest.java:74) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at org.apache.cactus.internal.AbstractCactusTestCase.runBareServer(AbstractCactusTestCase.java:153) at org.apache.cactus.internal.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:119) at org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody0(AbstractWebTestController.java:93) at org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody1$advice(AbstractWebTestController.java:217) at org.apache.cactus.internal.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java) at org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody2(ServletTestRedirector.java:101) at org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody3$advice(ServletTestRedirector.java:217) at org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java) at org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody0(ServletTestRedirector.java:72) at org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody1$advice(ServletTestRedirector.java:217) at org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java) 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 com.stratify.datahub.common.security.SecurityFilter.doFilter(SecurityFilter.java:67) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:368) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107) at java.lang.Thread.run(Unknown Source) Thanks, Senthil. --- Kazuhito SUGURI <[EMAIL PROTECTED]> wrote: > Hi Senthil, > > In article > <[EMAIL PROTECTED]>, > Mon, 19 Dec 2005 13:17:14 -0800 (PST), > senthil kumar <[EMAIL PROTECTED]> wrote: > senthil_cbe> I am trying to test a junit test case > wrapped up with > senthil_cbe> servletTestSuite and that java class > which I am > senthil_cbe> testing requires login > (authentication). I went thru > senthil_cbe> the cactus documentation and set the > web.xml like > senthil_cbe> adding > [snip] > senthil_cbe> > org.apache.cactus.util.ChainedRuntimeException: > Failed > senthil_cbe> to get the test results at > senthil_cbe> > [http://localhost:80/test/ServletRedirector] > > Why does the cactus-client access the > ServletRedirector > but not the ServletRedirectorSecure? > I guess the beginXXX method doesn't call > WebRequest#setRedirectorName(String) > method. > > > senthil_cbe> > org.apache.cactus.internal.client.ParsingException: > senthil_cbe> Not a valid response [401 Unauthorized] > > This says the cause. > > You might confirm followings: > - security-constraint is configured properly in > web.xml > - XxxAuthentication instance (username/password > pair) passed to > WebRequest#setAuthentication() method is correct > - the user has a role which is permitted to access > the resource > (i.e. ServletRedirectorSecure) > > > Hope this helps. > ---- > Kazuhito SUGURI > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]