Apache-Session-Wrapper
view release on metacpan or search on metacpan
t/01-basic.t view on Meta::CPAN
my $w = Apache::Session::Wrapper->new(%params);
$w->session( session_id => $id )->{bar}{baz} = 50;
is( $w->session( session_id => $id )->{bar}{baz}, 50,
'always write - in memory value' );
}
{
my $w = Apache::Session::Wrapper->new(%params);
is( $w->session( session_id => $id )->{bar}{baz}, 50,
'always write - stored value' );
}
{
my $w = Apache::Session::Wrapper->new( %params, always_write => 0 );
$w->session( session_id => $id )->{bar}{baz} = 100;
is( $w->session( session_id => $id )->{bar}{baz}, 100,
'always write is off - in memory value' );
}
{
my $w = Apache::Session::Wrapper->new( %params, always_write => 0 );
is( $w->session( session_id => $id )->{bar}{baz}, 50,
'always write is off - stored value' );
$w = Apache::Session::Wrapper->new( %params, session_id => $id );
is( $w->session->{_session_id}, $id, 'id matches session id given to new()' );
}
{
my $w = Apache::Session::Wrapper->new( %params );
$w->session( session_id => $id )->{quux} = 100;
$w->delete_session;
is( $w->session( session_id => $id )->{quux}, undef,
'session is empty after delete_session' );
}
{
no warnings 'redefine';
# so attempt to connect to MySQL doesn't happen
local *Apache::Session::Wrapper::_make_session = sub {};
my $wrapper =
eval { local $^W = 0;
Apache::Session::Wrapper->new( class => 'Flex',
store => 'MySQL',
lock => 'Null',
generate => 'MD5',
serialize => 'Storable',
data_source => 'foo',
user_name => 'bar',
password => 'baz',
) };
unlike( $@, qr/parameters/, 'pass correct parameters for MySQL flex' );
is( $wrapper->{params}{DataSource}, 'foo', 'DataSource is foo' );
is( $wrapper->{params}{UserName}, 'bar', 'UserName is bar' );
is( $wrapper->{params}{Password}, 'baz', 'Password is baz' );
}
{
eval { local $^W = 0;
Apache::Session::Wrapper->new( class => 'Postgres',
data_source => 'foo',
user_name => 'foo',
password => 'foo',
commit => 0,
) };
unlike( $@, qr/parameters/, 'first param set for Pg' );
}
{
my $dbh = bless {}, 'DBI';
eval { local $^W = 0;
Apache::Session::Wrapper->new( class => 'Postgres',
handle => $dbh,
commit => 0,
) };
unlike( $@, qr/parameters/, 'second param set for Pg' );
}
{
my $dbh = bless {}, 'DBI';
eval { Apache::Session::Wrapper->new( class => 'Postgres',
commit => 0,
) };
like( $@, qr/required parameters.+missing: handle/, 'incomplete params for Pg' );
}
( run in 0.781 second using v1.01-cache-2.11-cpan-bbc515a03b3 )