X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flive_app_session.t;h=756605e974920004c68a63ffa79749742f78f535;hb=fb90f091ef213721e2558ff67507aeb6359b14ab;hp=cb97025051e55f7ddb9b2b17227beac3c20d5163;hpb=ff817455b9bb4d7fec5b2b86c4e243f29f68ee53;p=catagits%2FCatalyst-Plugin-Authentication.git diff --git a/t/live_app_session.t b/t/live_app_session.t index cb97025..756605e 100644 --- a/t/live_app_session.t +++ b/t/live_app_session.t @@ -1,78 +1,29 @@ -#!/usr/bin/perl - use strict; use warnings; use Test::More; BEGIN { - eval { require Catalyst::Plugin::Session; require Catalyst::Plugin::Session::State::Cookie }; - if ($@) { - plan skip_all => "This test needs Catalyst::Plugin::Session and Catalyst::Plugin::Session::State::Cookie installed"; - } else { - plan tests => 12; - } + eval { require Test::WWW::Mechanize::Catalyst; require Catalyst::Plugin::Session; require Catalyst::Plugin::Session::State::Cookie }; + plan skip_all => "This test needs Test::WWW::Mechanize::Catalyst, Catalyst::Plugin::Session and Catalyst::Plugin::Session::State::Cookie installed" if $@; + plan skip_all => "This test needs Test::WWW::Mechanize::Catalyst >= 0.50, you have only $Test::WWW::Mechanize::Catalyst::VERSION" + unless $Test::WWW::Mechanize::Catalyst::VERSION >= 0.50; } -{ - package AuthTestApp; - use Catalyst qw/ - Session - Session::Store::Dummy - Session::State::Cookie - - Authentication - Authentication::Store::Minimal - Authentication::Credential::Password - /; - - use Test::More; - use Test::Exception; - - use Digest::MD5 qw/md5/; - - our $users; - - sub moose : Local { - my ( $self, $c ) = @_; - - ok(!$c->sessionid, "no session id yet"); - ok(!$c->user, "no user yet"); - ok($c->login( "foo", "s3cr3t" ), "can login with clear"); - is( $c->user, $users->{foo}, "user object is in proper place"); - } - - sub elk : Local { - my ( $self, $c ) = @_; - - ok( $c->sessionid, "session ID was restored" ); - ok( $c->user, "a user was also restored"); - is_deeply( $c->user, $users->{foo}, "restored user is the right one (deep test - store might change identity)" ); +use lib 't/lib'; +use Test::WWW::Mechanize::Catalyst qw/AuthSessionTestApp/; # for the cookie support - $c->delete_session("bah"); - } - - sub fluffy_bunny : Local { - my ( $self, $c ) = @_; +my $m = Test::WWW::Mechanize::Catalyst->new; - ok( !$c->sessionid, "no session ID was restored"); - ok( !$c->user, "no user was restored"); - } +$m->get_ok("http://localhost/moose", "get ok"); +$m->get_ok("http://localhost/elk", "get ok"); - __PACKAGE__->config->{authentication}{users} = $users = { - foo => { - password => "s3cr3t", - }, - }; +$m->get("http://localhost/yak"); +ok(!$m->success, 'Not ok, user unable to be resotred == nasal demons'); - __PACKAGE__->setup; +foreach my $type (qw/ goat fluffy_bunny possum butterfly /) { + $m->get_ok("http://localhost/$type", "get $type ok"); } -use Test::WWW::Mechanize::Catalyst qw/AuthTestApp/; # for the cookie support - -my $m = Test::WWW::Mechanize::Catalyst->new; - -$m->get_ok("http://localhost/moose", "get ok"); -$m->get_ok("http://localhost/elk", "get ok"); -$m->get_ok("http://localhost/fluffy_bunny", "get ok"); +done_testing;