my
$res
;
require
't/test-lib.pm'
;
my
$client
= LLNG::Manager::Test->new(
{
ini
=> {
logLevel
=>
'error'
,
useSafeJail
=> 1,
cookieName
=>
'external'
,
authentication
=>
'Proxy'
,
userDB
=>
'Same'
,
proxyAuthServiceChoiceParam
=>
'lmAuth'
,
proxyAuthServiceChoiceValue
=>
'2_Password'
,
proxyCookieName
=>
'lemonldap'
,
proxyAuthServiceImpersonation
=> 1
}
}
);
ok(
$res
=
$client
->_get(
'/'
,
accept
=>
'text/html'
),
'Get menu'
);
ok(
$res
->[2]->[0] =~ m
'spoofId input found'
)
or explain(
$res
->[2]->[0],
'spoofId'
);
ok(
$res
=
$client
->_post(
'/'
,
IO::String->new(
'user=dwho&password=dwho&spoofId=rtyler'
),
length
=> 38
),
'Auth query'
);
expectOK(
$res
);
my
$id
= expectCookie(
$res
,
'external'
);
count(7);
$client
->logout(
$id
,
'external'
);
clean_sessions();
done_testing( count() );
no
warnings
'redefine'
;
sub
LWP::UserAgent::request {
my
(
$self
,
$req
) =
@_
;
unless
(
$req
->uri->as_string =~
m
%http
://auth.example.com(?:/session/
my
/global|\?logout=1)% )
{
ok(
$req
->content() =~ m
%user
=dwho%,
'User found'
)
or
print
STDERR Dumper(
$req
->content() );
ok(
$req
->content() =~ m
%password
=dwho%,
'Password found'
)
or
print
STDERR Dumper(
$req
->content() );
ok(
$req
->content() =~ m
%lmAuth
=2_Password%,
'ChoiceParam found'
)
or
print
STDERR Dumper(
$req
->content() );
ok(
$req
->content() =~ m
%spoofId
=rtyler%,
'SpoofId found'
)
or
print
STDERR Dumper(
$req
->content() );
}
my
$httpResp
;
my
$s
=
'{"error":"0","id":"6e30af4ffa5689b3e49a104d1b160d316db2b2161a0f45776994eed19dbdc101","result":1}'
;
$httpResp
= HTTP::Response->new( 200,
'OK'
);
$httpResp
->header(
'Content-Type'
,
'application/json'
);
$httpResp
->header(
'Content-Length'
,
length
(
$s
) );
$httpResp
->header(
'Set-Cookie'
,
'lemonldap=6e30af4ffa5689b3e49a104d1b160d316db2b2161a0f45776994eed19dbdc101'
);
$httpResp
->content(
$s
);
return
$httpResp
;
}