Dancer2-Plugin-Auth-Extensible-Provider-DBIxClass
view release on metacpan or search on metacpan
t/lib/DBICTest.pm view on Meta::CPAN
package DBICTest;
use Modern::Perl;
use Test::More;
use Test::Deep;
use Plack::Test;
use HTTP::Request::Common;
use HTTP::Cookies;
use Dancer2::Plugin::Auth::Extensible::Test;
my $jar = HTTP::Cookies->new();
sub runtests {
my $test = Plack::Test->create(shift);
*get = \&Dancer2::Plugin::Auth::Extensible::Test::get;
*post = \&Dancer2::Plugin::Auth::Extensible::Test::post;
subtest 'DBIC provider-specific tests' => sub {
my $res;
for my $realm (qw/config1 config2/) {
# check user is not yet logged in
ok get('/loggedin')->is_redirect,
"Make sure user in realm $realm is not yet logged in";
#login
$res = post(
'/login',
[
username => 'mark',
password => 'wantscider',
realm => $realm,
]
);
ok $res->is_redirect, '/login looks good';
is get('/loggedin')->content, 'You are logged in',
'... and checking /loggedin route shows we are logged in';
# First check that the role doesn't work.
$res = get('/dbic_cider');
is $res->code, 403, 'We cannot yet access CiderDrinker route'
or diag explain $res;
# add role
$res = get("/dbic_update_user_role/$realm");
ok $res->is_success, "get /dbic_update_user_role/$realm is_success"
or diag explain $res;
# check route again
$res = get('/dbic_cider');
ok $res->is_success, 'We *can* now access CiderDrinker route';
is $res->content, 'You can have a cider',
'... and we see the page content.';
( run in 1.543 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )