Fix unit test (code uses $c->log->warn now)
[catagits/Catalyst-Plugin-Session.git] / t / 04_sessionid_stomp.t
CommitLineData
d81306e0 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
8478f639 6use Test::More tests => 4;
d81306e0 7use Test::MockObject::Extends;
8use Test::Exception;
9
10my $m;
11BEGIN { use_ok( $m = "Catalyst::Plugin::Session" ) }
12
13my $c = Test::MockObject::Extends->new($m);
14
15my $flash = {};
16$c->mock(
17 get_session_data => sub {
18 my ( $c, $key ) = @_;
19 return $key =~ /expire/ ? time() + 1000 : $flash;
20 }
21);
22$c->set_true("store_session_data");
23#$c->set_always( _sessionid => "deadbeef" );
24$c->set_always( config => { session => { expires => 1000 } } );
25$c->set_always( stash => {} );
8478f639 26$c->set_always( log => my $log = Test::MockObject->new );
27$log->set_true( "warn" );
d81306e0 28
29$c->sessionid('deadbeef');
30is_deeply($c->sessionid(), 'deadbeef', "Session not set properly.");
31
8478f639 32$log->clear;
33
d81306e0 34$c->sessionid('deadbeef2');
8478f639 35is_deeply($c->sessionid(), 'deadbeef', "Session was not stomped!.");
d81306e0 36
8478f639 37$log->called_ok("warn");