Hi Sunil,

I've taken some time to write a test to prove that it works. Here it is:

public class TestHttpSession extends ServletTestCase
{
    private HttpSessionCookie sessionCookie;
    private TestHttpSession dependentTest;

    public TestHttpSession(String name)
    {
        super(name);
    }

    public TestHttpSession(String name, TestHttpSession test)
    {
        super(name);
        this.dependentTest = test;
    }

    public static Test suite()
    {
        TestSuite suite = new TestSuite();

        TestHttpSession test = new
TestHttpSession("testDependentTestUsingSession");
        suite.addTest(test);
        suite.addTest(new TestHttpSession("testDependentTestUsingSession2",
test));
        
        return suite;
    }
    
    public void beginDependentTestUsingSession(WebRequest theRequest)
    {
        this.sessionCookie = theRequest.getSessionCookie();
        assertNotNull("Session cookie should not be null", sessionCookie);
        theRequest.addCookie(sessionCookie);
        System.out.println("cookie = " + this.sessionCookie);
    }

    public void testDependentTestUsingSession()
    {
        session.setAttribute("dependentTestId", "dependentTestValue");
    }
    
    public void beginDependentTestUsingSession2(WebRequest theRequest)
    {
        assertNotNull(this.dependentTest.sessionCookie);
        theRequest.addCookie(this.dependentTest.sessionCookie);        
    }

    public void testDependentTestUsingSession2()
    {
        assertEquals("dependentTestValue",
session.getAttribute("dependentTestId"));
    }
}

Please note that making test dependent on each other is strongly discouraged
as this is not unit testing. I just wanted to show you it is possible but I
would advise you to set up the session with the right value for each test.

Thanks
-Vincent

> -----Original Message-----
> From: Venu Sunil Boyireddy [mailto:[EMAIL PROTECTED]
> Sent: vendredi 28 janvier 2005 17:33
> To: Cactus Users List
> Cc: [EMAIL PROTECTED]
> Subject: RE: Maintaing session between 2 cactus test cases.
> 
> Hi Vincent,
> 
> I have used the other also.
> 
> 
> 
>       theRequest.setAutomaticSession(false);
>       HttpSessionCookie sessionCookie = theRequest.getSessionCookie();
>       assertNotNull("Session cookie should not be null", sessionCookie);
>       theRequest.addCookie(sessionCookie);
> 
> these are the entries in my beginXXX method. But still I was getting new
> session every time.
> 
> I tested AbstractWebTestController.java. I found it still creating new
> session before every test case?
> 
> Is cactus any where removing sessions?
> 
> Any help is greatly appreciated.
> 
> Thanks and Regards
> 
> Sunil
> 
> 
> 
> -----Original Message-----
> From: Vincent Massol [mailto:[EMAIL PROTECTED]
> Sent: Thursday, January 27, 2005 7:17 PM
> To: Venu Sunil Boyireddy; 'Cactus Users List'
> Subject: RE: Maintaing session between 2 cactus test cases.
> 
> 
> Hi Sunil,
> 
> > -----Original Message-----
> > From: Venu Sunil Boyireddy [mailto:[EMAIL PROTECTED]
> > Sent: jeudi 27 janvier 2005 14:29
> > To: Cactus Users List
> > Cc: [EMAIL PROTECTED]
> > Subject: RE: Maintaing session between 2 cactus test cases.
> >
> > Hi Vincent,
> >
> > Thanks for your help.
> > I'm using cactus, strutsTest to test my action classes. Its working fine
> > with individual Action Clases.
> >
> > We have a generic test case which takes parameters such as Action name,
> > Request parameters, actionforward Name, action forward path etc. from
> xml
> > file and test that action class.
> >
> > So, with this I am able to test multiple actions. And Thanks for your
> help
> > in getting this work done.
> >
> > But, to complete testing our functionality I need to test 3 action
> > classes.
> > As I'm using generic Testcase which tests one action class at a time, I
> > need
> > to run 3 testcases (or the generic test case thrice with different
> > parameters) to test these action classes. For this I need session alive
> in
> > between, so first action class keep some values in session and the other
> > Action classes needs. So, All these 3 test cases needs to share same
> > session.
> >
> > Hope I'm clear in explaining my problem.
> 
> Yes, that's what I had understood.
> 
> >
> > I tried with WebRequest.setAutomaticSession(false). that didn't work.
> 
> Have you tried the second point I mentioned below?
> 
> Thanks
> -Vincent
> 
> >
> > Any help is greatly appreciated.
> >
> > Thanks and Regards
> >
> > Sunil
> >
> >
> >
> > -----Original Message-----
> > From: Vincent Massol [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, January 26, 2005 7:22 PM
> > To: [email protected]
> > Subject: RE: Maintaing session between 2 cactus test cases.
> >
> >
> > Hi Sunil,
> >
> > - You can use WebRequest.setAutomaticSession(false) to tell Cactus not
> to
> > create a new HTTP session, but that may or may not help you.
> >
> > - You can also use WebRequest.getSessionCookie() if you wish to get the
> > session cookie created in order to reuse it in another test
> >
> > See http://tinyurl.com/4qeeb for the test file used by Cactus to test
> > these
> > features.
> >
> > -Vincent
> >
> > > -----Original Message-----
> > > From: Venu Sunil Boyireddy [mailto:[EMAIL PROTECTED]
> > > Sent: lundi 24 janvier 2005 06:53
> > > To: [email protected]; [email protected]
> > > Subject: Maintaing session between 2 cactus test cases.
> > >
> > > Hi,
> > >
> > >
> > > I have a requirement where I need to maintain the session alive
> between
> > > the
> > > test cases.
> > >
> > > How can I do it. I know that cactus wont support it by default as its
> a
> > > unit
> > > test framework.
> > >
> > > Any help is greatly appreciated.
> > >
> > > Thanks in advance.
> > >
> > > Sunil
> > >
> > > ---------------------------------------------------------------------
> > > 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]
> 
> 
> 
> ---------------------------------------------------------------------
> 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