You are viewing a plain text version of this content. The canonical link for it is here.
Posted to test-dev@httpd.apache.org by "Christopher H. Laco" <ch...@hotmail.com> on 2004/11/23 14:55:20 UTC
Apache::TestRequest + Cookies
Has anyone used ApacheTestRequest to test pages using cookiessessions?
I'm writing some quick and dirty tests for an AxKit session module I've
adopted. I've got everything up and running config wise and the pages are
getting run through AxKit just fine.
The first two tests simply consist of a set-value page which uses
Apache::Session::File to store a value, and a get-value page that confirms
the value is returned. Of course the get-value test, test 2, fails because
Apache::TestRequest is ignore the sessionid cookie [or all cookies really].
I have LWP installed and I've tried a few different encantations using
->cookie_jar and HTTPCookie without any luck. Is there a Tutorial or
examples somwhere that cover dealing with sessions within
Apache::TestRequest?
Thanks,
-=Chris
Re: Apache::TestRequest + Cookies
Posted by Stas Bekman <st...@stason.org>.
Christopher H. Laco wrote:
>> Either way if you find how to use A-T to handle cookies or fix it to
>> do so, it's be handy to add a new A-T tests (in addition to existing
>> ones in Apache-Test/t/) so we don't break this feature in the future,
>> which is easily possible sans having a test.
>>
>> Plus it'll be great to have this documented... if you don't have the
>> time to send a proper patch, feel free to send some blurb+example(s)
>> here and I'll adopt it for the docs.
>
>
>
> Assuming Michaels solution works:
> Apache::TestRequest::user_agent( cookie_jar => {});
>
> Are we looking for something more official to the actual Test::Request
> API; a new method, better parameters, etc; or is the above just good
> enough for a little mention?
I'd suggest to start with just a test and a little mention. Later on if we
get people unhappy with this solution, we can make it a method...
really the new A-T development is triggered by demand of those who use and
develop it, so if you use A-T and you need a new feature, feel free to
send a patch including code+docs+test and chances are that it'll just go
in. And if you have lots of those and you send decent patches, it's easy
to become a committer :)
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Apache::TestRequest + Cookies
Posted by "Christopher H. Laco" <ch...@hotmail.com>.
>Either way if you find how to use A-T to handle cookies or fix it to do so,
>it's be handy to add a new A-T tests (in addition to existing ones in
>Apache-Test/t/) so we don't break this feature in the future, which is
>easily possible sans having a test.
>
>Plus it'll be great to have this documented... if you don't have the time
>to send a proper patch, feel free to send some blurb+example(s) here and
>I'll adopt it for the docs.
Assuming Michaels solution works:
Apache::TestRequest::user_agent( cookie_jar => {});
Are we looking for something more official to the actual Test::Request API;
a new method, better parameters, etc; or is the above just good enough for a
little mention?
Re: Apache::TestRequest + Cookies
Posted by Stas Bekman <st...@stason.org>.
Christopher H. Laco wrote:
>> if you could also contribute the cookie test that would be handy too.
>
>
> I'm feeling a bit dense at the moment. To the list, or to the
> forthcoming [self] test suite? I'm not sure I understand the request.
Either way if you find how to use A-T to handle cookies or fix it to do
so, it's be handy to add a new A-T tests (in addition to existing ones in
Apache-Test/t/) so we don't break this feature in the future, which is
easily possible sans having a test.
Plus it'll be great to have this documented... if you don't have the time
to send a proper patch, feel free to send some blurb+example(s) here and
I'll adopt it for the docs.
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Apache::TestRequest + Cookies
Posted by "Christopher H. Laco" <ch...@hotmail.com>.
>if you could also contribute the cookie test that would be handy too.
I'm feeling a bit dense at the moment. To the list, or to the forthcoming
[self] test suite? I'm not sure I understand the request.
P.S. Sorry about my list replies full of headers. I need to unsubscribe from
Hotmail and use a real email client from my home account.
-=Chris
Re: Apache::TestRequest + Cookies
Posted by Stas Bekman <st...@stason.org>.
Christopher H. Laco wrote:
> Thanks. I'll give that a whirl tonight.
>
> I finally got the hack approach working by calling
> $apacheRequestResponse->headers("Set-Cookie") and passing that result
> right back into the [scantily mentioned] second param of
> Apache::TestRequest::GET 'url', headername => headervalue
if you could also contribute the cookie test that would be handy too.
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Apache::TestRequest + Cookies
Posted by "Christopher H. Laco" <ch...@hotmail.com>.
[snip]
Or more to the point:
my $r = GET 'url', Cookie =>
$apacheRequestResponse->headers("Set-Cookie");
Re: Apache::TestRequest + Cookies
Posted by "Christopher H. Laco" <ch...@hotmail.com>.
Thanks. I'll give that a whirl tonight.
I finally got the hack approach working by calling
$apacheRequestResponse->headers("Set-Cookie") and passing that result right
back into the [scantily mentioned] second param of Apache::TestRequest::GET
'url', headername => headervalue
Since I only had on cookie, it works. All hell would break loose the minute
I had more I assume.
-=Chris
>From: Michael Peters <mp...@plusthree.com>
>Reply-To: test-dev@httpd.apache.org
>To: test-dev@httpd.apache.org
>Subject: Re: Apache::TestRequest + Cookies
>Date: Wed, 24 Nov 2004 14:29:02 -0500
>MIME-Version: 1.0
>Received: from mail.apache.org ([209.237.227.199]) by mc7-f8.hotmail.com
>with Microsoft SMTPSVC(5.0.2195.6824); Wed, 24 Nov 2004 11:28:56 -0800
>Received: (qmail 99929 invoked by uid 500); 24 Nov 2004 19:28:40 -0000
>Received: (qmail 99899 invoked by uid 99); 24 Nov 2004 19:28:39 -0000
>Received: pass (hermes.apache.org: local policy)
>Received: from Unknown (HELO plusthree.com) (65.61.157.8) by apache.org
>(qpsmtpd/0.28) with SMTP; Wed, 24 Nov 2004 11:28:37 -0800
>Received: (qmail 18178 invoked from network); 24 Nov 2004 19:28:21 -0000
>Received: from h-66-167-36-5.mclnva23.covad.net (HELO ?192.168.1.164?)
>(mpeters@66.167.36.5) by 0 with SMTP; 24 Nov 2004 19:28:21 -0000
>X-Message-Info: JGTYoYF78jFk/IwND13SP4Tqx2eQ6P3t
>Mailing-List: contact test-dev-help@httpd.apache.org; run by ezmlm
>Precedence: bulk
>list-help: <ma...@httpd.apache.org>
>list-unsubscribe: <ma...@httpd.apache.org>
>list-post: <ma...@httpd.apache.org>
>Delivered-To: mailing list test-dev@httpd.apache.org
>X-ASF-Spam-Status: No, hits=0.0 required=10.0tests=
>X-Spam-Check-By: apache.org
>User-Agent: Mozilla Thunderbird 0.8 (X11/20041020)
>X-Accept-Language: en-us, en
>References: <BA...@phx.gbl>
><41...@stason.org>
>X-Enigmail-Version: 0.86.1.0
>X-Enigmail-Supports: pgp-inline, pgp-mime
>X-Virus-Checked: Checked
>Return-Path: test-dev-return-3460-chrislaco=hotmail.com@httpd.apache.org
>X-OriginalArrivalTime: 24 Nov 2004 19:28:57.0468 (UTC)
>FILETIME=[D7A04BC0:01C4D25B]
>
>
>
>Stas Bekman wrote:
>>Christopher H. Laco wrote:
>>
>>>Has anyone used ApacheTestRequest to test pages using cookiessessions?
>>>
>>>I'm writing some quick and dirty tests for an AxKit session module I've
>>>adopted. I've got everything up and running config wise and the pages are
>>>getting run through AxKit just fine.
>>>
>>>The first two tests simply consist of a set-value page which uses
>>>Apache::Session::File to store a value, and a get-value page that
>>>confirms the value is returned. Of course the get-value test, test 2,
>>>fails because Apache::TestRequest is ignore the sessionid cookie [or all
>>>cookies really].
>>>
>>>I have LWP installed and I've tried a few different encantations using
>>>->cookie_jar and HTTPCookie without any luck. Is there a Tutorial or
>>>examples somwhere that cover dealing with sessions within
>>>Apache::TestRequest?
>>
>>
>>I guess the silence means that no one has used it with cookies. I suppose
>>that you could fix it to work with cookies though. But I could be wrong
>>and it already works but not documented. there is a lot of such code in
>>there.
>
>LWP::UserAgent doesn't by default keep a cookie_jar. All I had to do was
>add this near the top of my test script before any GET/POST calls.
>
> Apache::TestRequest::user_agent( cookie_jar => {});
>
>HTH
>
>--
>Michael Peters
>Developer
>Plus Three, LP
>
Re: Apache::TestRequest + Cookies
Posted by Stas Bekman <st...@stason.org>.
Christopher H. Laco wrote:
>> but most people won't have this module installed...
>
>
> Installed, or loaded? I know the httpd.conf defaults to having that
> module commented out, but the module itself should be around.
Loaded or even available...
> Maybe relying on Apache::Session would cover more install scnerios
> instead. I was trying to avoid writing a custom handler just to accept
> and toss some cookies in the test environment, but maybe that's better.
> At least then everyone install should be able to run the A-T cookie test.
I think the same_interp setup will do what you want. e.g. see in
modperl-2.0 repository this test couple:
t/response/TestModperl/sameinterp.pm
t/modperl/sameinterp.t
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Apache::TestRequest + Cookies
Posted by "Christopher H. Laco" <ch...@hotmail.com>.
>but most people won't have this module installed...
Installed, or loaded? I know the httpd.conf defaults to having that module
commented out, but the module itself should be around.
Maybe relying on Apache::Session would cover more install scnerios instead.
I was trying to avoid writing a custom handler just to accept and toss some
cookies in the test environment, but maybe that's better. At least then
everyone install should be able to run the A-T cookie test.
Re: Apache::TestRequest + Cookies
Posted by Stas Bekman <st...@stason.org>.
Christopher H. Laco wrote:
>> just a very simple test that verifies that the documented technique
>> works. later on it may evolve to include a special A-T API if we ever
>> add one.
>
>
> Is it enought to do <IfModule mod_usertrack.c> and also
> &need_module(mod_usertrack.c) to determine if the usertrack mnodule is
> installed, or is there someplace deeper within the setup where we can
> actually add LoadModule mod_usertrack.c?
for config it's enough for the code it's:
plan tests => 5, need_module('usertrack');
but most people won't have this module installed...
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Apache::TestRequest + Cookies
Posted by "Christopher H. Laco" <ch...@hotmail.com>.
>just a very simple test that verifies that the documented technique works.
>later on it may evolve to include a special A-T API if we ever add one.
Is it enought to do <IfModule mod_usertrack.c> and also
&need_module(mod_usertrack.c) to determine if the usertrack mnodule is
installed, or is there someplace deeper within the setup where we can
actually add LoadModule mod_usertrack.c?
Thanks,
-=Chris
Re: Apache::TestRequest + Cookies
Posted by Stas Bekman <st...@stason.org>.
Christopher H. Laco wrote:
> Now that I've gotten a few other module updates out of the way, I want
> to get back to the thought of cookies within A-T. Two things were
> mentioned that would help the A-T project in some way.
>
> First, possibly add pod doc on how to use cookies within A-T using
> Michaels solution of
>
> Apache::TestRequest::user_agent( cookie_jar => {});
+1
> and possibly others. I would also probably take a stab at getting some
> of the other things in
> http://perl.apache.org/docs/general/testing/testing.html into the pod;
> specifically the use of the secondary param in the GET request to add
> outgoing headers and the like.
+1
> Second, add some sort of cookie tests to the A-T test suit. I'm not
> quite sure what a test would be for other than to verify that A-T using
> LWP actually receives and sends cookies and verifies they get remembered
> between requests. But that seems more like testing LWP and A-T to me.
just a very simple test that verifies that the documented technique works.
later on it may evolve to include a special A-T API if we ever add one.
> My first thoughts are to keep it as simple as possible and check for
> mod_usertrack. It it's there, ensure the first tracking cookie value is
> maintained across multiple requests.
Whatever you find the best is fine with us. You may want to use the
same_interp framework in case you need to make sure that you hit the same
perl interpreter (in case you store some data on the server side). See the
tests in modperl-2.0/t for examples.
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Apache::TestRequest + Cookies
Posted by "Christopher H. Laco" <ch...@hotmail.com>.
Now that I've gotten a few other module updates out of the way, I want to
get back to the thought of cookies within A-T. Two things were mentioned
that would help the A-T project in some way.
First, possibly add pod doc on how to use cookies within A-T using Michaels
solution of
Apache::TestRequest::user_agent( cookie_jar => {});
and possibly others. I would also probably take a stab at getting some of
the other things in http://perl.apache.org/docs/general/testing/testing.html
into the pod; specifically the use of the secondary param in the GET request
to add outgoing headers and the like.
Second, add some sort of cookie tests to the A-T test suit. I'm not quite
sure what a test would be for other than to verify that A-T using LWP
actually receives and sends cookies and verifies they get remembered between
requests. But that seems more like testing LWP and A-T to me.
My first thoughts are to keep it as simple as possible and check for
mod_usertrack. It it's there, ensure the first tracking cookie value is
maintained across multiple requests.
Any thoughts?
-=Chris
Re: Apache::TestRequest + Cookies
Posted by Michael Peters <mp...@plusthree.com>.
Stas Bekman wrote:
> Christopher H. Laco wrote:
>
>> Has anyone used ApacheTestRequest to test pages using cookiessessions?
>>
>> I'm writing some quick and dirty tests for an AxKit session module
>> I've adopted. I've got everything up and running config wise and the
>> pages are getting run through AxKit just fine.
>>
>> The first two tests simply consist of a set-value page which uses
>> Apache::Session::File to store a value, and a get-value page that
>> confirms the value is returned. Of course the get-value test, test 2,
>> fails because Apache::TestRequest is ignore the sessionid cookie [or
>> all cookies really].
>>
>> I have LWP installed and I've tried a few different encantations using
>> ->cookie_jar and HTTPCookie without any luck. Is there a Tutorial or
>> examples somwhere that cover dealing with sessions within
>> Apache::TestRequest?
>
>
> I guess the silence means that no one has used it with cookies. I
> suppose that you could fix it to work with cookies though. But I could
> be wrong and it already works but not documented. there is a lot of such
> code in there.
LWP::UserAgent doesn't by default keep a cookie_jar. All I had to do was
add this near the top of my test script before any GET/POST calls.
Apache::TestRequest::user_agent( cookie_jar => {});
HTH
--
Michael Peters
Developer
Plus Three, LP
Re: Apache::TestRequest + Cookies
Posted by Stas Bekman <st...@stason.org>.
Christopher H. Laco wrote:
> Has anyone used ApacheTestRequest to test pages using cookiessessions?
>
> I'm writing some quick and dirty tests for an AxKit session module I've
> adopted. I've got everything up and running config wise and the pages
> are getting run through AxKit just fine.
>
> The first two tests simply consist of a set-value page which uses
> Apache::Session::File to store a value, and a get-value page that
> confirms the value is returned. Of course the get-value test, test 2,
> fails because Apache::TestRequest is ignore the sessionid cookie [or all
> cookies really].
>
> I have LWP installed and I've tried a few different encantations using
> ->cookie_jar and HTTPCookie without any luck. Is there a Tutorial or
> examples somwhere that cover dealing with sessions within
> Apache::TestRequest?
I guess the silence means that no one has used it with cookies. I suppose
that you could fix it to work with cookies though. But I could be wrong
and it already works but not documented. there is a lot of such code in there.
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com