require
't/test-lib.pm'
;
my
$res
;
my
$client
= LLNG::Manager::Test->new(
{
ini
=> {
logLevel
=>
'error'
,
useSafeJail
=> 1,
authentication
=>
"Custom"
,
customAuth
=>
"::Auth::Demo"
,
customUserDB
=>
"::UserDB::Demo"
}
}
);
ok(
$res
=
$client
->_get(
'/'
),
'Unauth JSON request'
);
expectReject(
$res
);
ok(
$res
=
$client
->_get(
'/'
,
accept
=>
'text/html'
),
'Get Menu'
);
expectPortalError(
$res
, 109,
'Rejected with PE_UNPROTECTEDURL'
);
ok(
$res
->[2]->[0] =~ m%<span id=
"languages"
></span>%,
' Language icons found'
)
or
print
STDERR Dumper(
$res
->[2]->[0] );
count(3);
ok(
$res
=
$client
->_get(
'/'
,
accept
=>
'text/html'
),
'Get Menu'
);
ok(
$res
->[2]->[0] =~ /<span trmsg=
"9"
>/,
'Rejected with PE_FIRSTACCESS'
)
or
print
STDERR Dumper(
$res
->[2]->[0] );
ok(
$res
->[2]->[0] =~ m%<span id=
"languages"
></span>%,
' Language icons found'
)
or
print
STDERR Dumper(
$res
->[2]->[0] );
count(3);
ok(
$res
=
$client
->_get(
'/'
,
query
=>
'url=aHR0cDovL3Rlc3QxLmV4YW1wbGUuY29tLw=='
),
'Unauth ajax request with good url'
);
count(1);
expectReject(
$res
);
ok(
$res
=
$client
->_get(
'/'
,
accept
=>
'text/html'
),
'Get Menu'
);
ok(
$res
->[2]->[0] =~ m%<span id=
"languages"
></span>%,
' Language icons found'
)
or
print
STDERR Dumper(
$res
->[2]->[0] );
count(2);
ok(
$res
=
$client
->_post(
'/'
,
IO::String->new(
'user=jdoe&password=jdoe'
),
accept
=>
'text/html'
,
length
=> 23
),
'Auth query'
);
ok(
$res
->[2]->[0] =~ /<span trmsg=
"5"
>/,
'jdoe rejected with PE_BADCREDENTIALS'
) or
print
STDERR Dumper(
$res
->[2]->[0] );
ok(
$res
->[2]->[0] =~ m%<span trspan=
"connect"
>Connect</span>%,
'Found connect button'
)
or
print
STDERR Dumper(
$res
->[2]->[0] );
count(3);
ok(
$res
=
$client
->_post(
'/'
,
IO::String->new(
'user=dwho&password=jdoe'
),
accept
=>
'text/html'
,
length
=> 23
),
'Auth query'
);
count(1);
ok(
$res
->[2]->[0] =~ /<span trmsg=
"5"
>/,
'dwho rejected with PE_BADCREDENTIALS'
) or
print
STDERR Dumper(
$res
->[2]->[0] );
count(1);
ok(
$res
->[2]->[0] =~ m%<span trspan=
"connect"
>Connect</span>%,
'Found connect button'
)
or
print
STDERR Dumper(
$res
->[2]->[0] );
count(1);
ok(
$res
=
$client
->_post(
'/'
,
IO::String->new(
'user=dwho&password=dwho'
),
length
=> 23,
),
'Auth query'
);
count(1);
expectOK(
$res
);
my
$id
= expectCookie(
$res
);
ok(
$res
=
$client
->_get(
'/'
,
query
=>
'url=aHR0cDovL3Rlc3QxLmV4YW1wbGUuY29tLw=='
,
cookie
=>
"lemonldap=$id"
,
accept
=>
'text/html'
),
'Auth ajax request with good url'
);
count(1);
expectAuthenticatedAs(
$res
,
'dwho'
);
ok(
$res
=
$client
->_get(
'/'
,
query
=>
'url=aHR0cHM6Ly90LmV4YW1wbGUuY29tLw=='
,
cookie
=>
"lemonldap=$id"
,
accept
=>
'text/html'
),
'Auth request with bad url'
);
count(1);
expectOK(
$res
);
expectAuthenticatedAs(
$res
,
'dwho'
);
require
't/test-psgi.pm'
;
ok(
$res
= mirror(
cookie
=>
"lemonldap=$id"
),
'PSGI test'
);
count(1);
expectOK(
$res
);
expectAuthenticatedAs(
$res
,
'dwho'
);
$client
->logout(
$id
);
clean_sessions();
done_testing( count() );