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]

Reply via email to