lemonldap-ng/lemonldap-ng-portal/t/29-AuthSSL.t

81 lines
1.9 KiB
Perl
Raw Normal View History

2016-08-05 13:56:16 +02:00
use Test::More;
use strict;
require 't/test-lib.pm';
my $res;
2019-02-07 09:27:56 +01:00
my $client = LLNG::Manager::Test->new( {
2019-02-05 23:12:17 +01:00
ini => {
2016-11-14 13:34:46 +01:00
logLevel => 'error',
useSafeJail => 1,
authentication => 'SSL',
userDB => 'Null',
SSLVar => 'SSL_CLIENT_S_DN_Custom',
2019-02-02 15:34:24 +01:00
sslByAjax => 1,
sslHost => 'https://authssl.example.com:19876'
2016-11-14 13:34:46 +01:00
}
2016-08-05 13:56:16 +02:00
}
);
2019-08-07 23:03:49 +02:00
ok(
$res = $client->_get(
'/',
query => 'url=aHR0cDovL3Rlc3QxLmV4YW1wbGUuY29tLw==',
accept => 'text/html'
),
'Get Menu'
);
my $pdata = 'lemonldappdata=' . expectCookie( $res, 'lemonldappdata' );
2019-02-05 23:12:17 +01:00
ok(
$res->[2]->[0] =~
2019-08-29 10:04:06 +02:00
m%<script type="application/init">\s*\{"sslHost":"https://authssl.example.com:19876"\}\s*</script>%s,
2019-02-02 15:34:24 +01:00
' SSL AJAX URL found'
) or print STDERR Dumper( $res->[2]->[0] );
ok( $res->[2]->[0] =~ qr%<img src="/static/common/modules/SSL.png"%,
'Found 5_ssl Logo' )
2019-02-05 23:12:17 +01:00
or print STDERR Dumper( $res->[2]->[0] );
ok( $res->[2]->[0] =~ /ssl\.(?:min\.)?js/, 'Get sslChoice javascript' )
2019-02-05 23:12:17 +01:00
or print STDERR Dumper( $res->[2]->[0] );
count(4);
2019-02-02 15:34:24 +01:00
2019-02-05 23:12:17 +01:00
ok(
2019-08-07 23:03:49 +02:00
$res = $client->_get(
'/',
cookie => $pdata,
accept => 'text/html',
custom => { SSL_CLIENT_S_DN_Custom => 'dwho' }
),
2016-08-05 13:56:16 +02:00
'Auth query'
);
expectCookie($res);
2019-08-07 23:03:49 +02:00
expectRedirection( $res, 'http://test1.example.com/' );
$pdata = expectCookie( $res, 'lemonldappdata' );
ok( $pdata eq '', 'pdata is empty' );
count(2);
&Lemonldap::NG::Handler::Main::cfgNum( 0, 0 );
2019-02-07 09:27:56 +01:00
$client = LLNG::Manager::Test->new( {
2019-02-05 23:12:17 +01:00
ini => {
logLevel => 'error',
useSafeJail => 1,
authentication => 'SSL',
userDB => 'Null',
}
}
);
2019-02-05 23:12:17 +01:00
ok(
$res = $client->_get( '/', custom => { SSL_CLIENT_S_DN_Email => 'dwho' } ),
'Auth query'
);
2019-02-02 15:34:24 +01:00
2016-12-23 11:02:21 +01:00
expectOK($res);
expectCookie($res);
count(1);
2016-08-05 13:56:16 +02:00
clean_sessions();
done_testing( count() );