Apache-SWIT-Security
view release on metacpan or search on metacpan
t/100_manager.t view on Meta::CPAN
use strict;
use warnings FATAL => 'all';
use Test::More tests => 78;
use File::Temp qw(tempdir);
use File::Slurp;
use Carp;
use Data::Dumper;
use YAML;
use Apache::SWIT::Maker::Config;
use Apache::SWIT::Test::Request;
use Apache::SWIT::Test::Utils;
BEGIN { # $SIG{__DIE__} = sub { diag(Carp::longmess(@_)); };
use_ok('T::Apache::SWIT::Security::Role::Container');
use_ok('Apache::SWIT::Security::Maker');
use_ok('Apache::SWIT::Security::Role::Container');
use_ok('Apache::SWIT::Security::Role::Loader');
use_ok('Apache::SWIT::Security::Role::Manager');
use_ok('Apache::SWIT::Security', qw(Sealed_Params Hash));
}
unlike(read_file('blib/conf/httpd.conf'), qr/SWITSecurityPermissions/);
is(ADMIN_ROLE, 1);
is(USER_ROLE, 2);
my $man = Apache::SWIT::Security::Role::Manager->new({
"some/url/r" => {
perms => [ Apache::SWIT::Security::Role::Manager::ALL ],
}
});
ok($man);
is($man->access_control("some/strange/url"), undef);
is(Hash("foo\n"), 'd3b07384d113edec49eaa6238ad5ff00');
{
local $ENV{AS_SECURITY_SALT} = 1234;
is(Hash("foo\n"), '83414769c2c135aef8c4c821af5b4c5f');
};
my $ac = $man->access_control("some/url/r");
ok($ac);
is($ac->check_user, 1);
$ac->{_perms} = [ -1*Apache::SWIT::Security::Role::Manager::ALL ];
is($ac->check_user, undef);
$ac->{_perms} = [ 12 ];
is($ac->check_user, undef);
my @roles = (12);
package User;
sub role_ids { return @roles };
package main;
is($ac->check_user('User'), 1);
@roles = (13);
is($ac->check_user('User'), undef);
$ac->{_perms} = [ 12, 13 ];
is($ac->check_user('User'), 1);
$ac->{_perms} = [ -13, 13 ];
is($ac->check_user('User'), undef);
is($man->access_control("/dynamically/added"), undef);
( run in 1.241 second using v1.01-cache-2.11-cpan-39bf76dae61 )