|
BEGIN {
require 't/test-lib.pm' ;
}
my $debug = 'error' ;
my ( $issuer , $res );
ok( $issuer = issuer(), 'Issuer portal' );
count(1);
my $s = "user=dwho&password=dwho" ;
my $id = expectCookie(
$issuer ->_post(
'/' ,
IO::String->new( $s ),
accept => 'text/html' ,
length => length ( $s ),
)
);
ok(
$res = $issuer ->_get(
'/cas/login' ,
accept => 'text/html' ,
cookie => "lemonldap=$id" ,
),
'Query CAS server'
);
count(1);
expectRedirection( $res ,
ok(
$res = $issuer ->_get(
'/cas/login' ,
accept => 'text/html' ,
cookie => "lemonldap=$id" ,
),
'Query CAS server'
);
count(1);
ok(
$res = $issuer ->_get(
'/cas/login' ,
accept => 'text/html' ,
cookie => "lemonldap=$id" ,
),
'Query CAS server'
);
count(1);
expectRedirection( $res ,
ok( $issuer = issuer(1), 'Issuer portal' );
count(1);
ok(
$res = $issuer ->_get(
'/cas/login' ,
accept => 'text/html' ,
cookie => "lemonldap=$id" ,
),
'Query CAS server'
);
count(1);
expectRedirection( $res ,
ok(
$res = $issuer ->_get(
'/cas/login' ,
accept => 'text/html' ,
cookie => "lemonldap=$id" ,
),
'Query CAS server'
);
count(1);
expectPortalError( $res , 107 );
ok(
$res = $issuer ->_get(
'/cas/login' ,
accept => 'text/html' ,
cookie => "lemonldap=$id" ,
),
'Query CAS server'
);
count(1);
expectRedirection( $res ,
clean_sessions();
done_testing( count() );
sub issuer {
my ( $strict ) = @_ ;
return LLNG::Manager::Test->new(
{
ini => {
logLevel => $debug ,
domain => 'idp.com' ,
authentication => 'Demo' ,
userDB => 'Same' ,
issuerDBCASActivation => 1,
casAttr => 'uid' ,
casStrictMatching => $strict ,
casAppMetaDataOptions => {
sp1 => {
casAppMetaDataOptionsService =>
casAppMetaDataOptionsRule => "1" ,
},
sp2 => {
casAppMetaDataOptionsRule => "0" ,
},
sp3 => {
casAppMetaDataOptionsService =>
casAppMetaDataOptionsRule => "1" ,
},
sp4 => {
casAppMetaDataOptionsService =>
casAppMetaDataOptionsRule => "0" ,
},
sp5 => {
casAppMetaDataOptionsService =>
casAppMetaDataOptionsRule => "1" ,
},
},
casAccessControlPolicy => 'error' ,
multiValuesSeparator => ';' ,
}
}
);
}
|