|
BEGIN {
require 't/test-lib.pm' ;
}
my $debug = 'error' ;
my ( $issuer , $res );
plan skip_all => "Missing dependencies: $@" if ($@);
ok( $issuer = issuer(), 'Issuer portal' );
count(1);
my $s = "user=french&password=french" ;
ok(
$res = $issuer ->_post(
'/' ,
IO::String->new( $s ),
accept => 'text/html' ,
length => length ( $s ),
),
'Post authentication'
);
count(1);
my $idpId = expectCookie( $res );
ok(
$res = $issuer ->_get(
'/cas/login' ,
cookie => "lemonldap=$idpId" ,
accept => 'text/html'
),
'Query CAS server'
);
count(1);
expectPortalError( $res , 999, "Hook rejected the request" );
ok(
$res = $issuer ->_get(
'/cas/login' ,
cookie => "lemonldap=$idpId" ,
accept => 'text/html'
),
'Query CAS server'
);
count(1);
my ( $query ) =
ok(
$res = $issuer ->_get(
'/cas/p3/serviceValidate' ,
accept => 'text/html'
),
'Query CAS server'
);
expectOK( $res );
count(1);
ok( $res ->[2]->[0] =~ m
count(1);
clean_sessions();
done_testing( count() );
sub issuer {
return LLNG::Manager::Test->new(
{
ini => {
logLevel => $debug ,
domain => 'idp.com' ,
authentication => 'Demo' ,
userDB => 'Same' ,
issuerDBCASActivation => 1,
casAttr => 'uid' ,
casAppMetaDataOptions => {
sp => {
},
},
casAppMetaDataExportedVars => {
sp => {
cn => 'cn' ,
mail => 'mail' ,
uid => 'uid' ,
},
},
casAccessControlPolicy => 'error' ,
multiValuesSeparator => ';' ,
customPlugins => 't::CasHookPlugin' ,
}
}
);
}
|