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] );
|
2019-02-02 21:31:37 +01:00
|
|
|
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] );
|
2019-02-02 21:31:37 +01:00
|
|
|
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'
|
|
|
|
);
|
2018-04-30 18:06:15 +02:00
|
|
|
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);
|
2018-04-30 18:06:15 +02:00
|
|
|
|
2018-06-05 23:13:18 +02:00
|
|
|
&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 => {
|
2018-04-30 18:06:15 +02:00
|
|
|
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' } ),
|
2018-04-30 18:06:15 +02:00
|
|
|
'Auth query'
|
|
|
|
);
|
2019-02-02 15:34:24 +01:00
|
|
|
|
2016-12-23 11:02:21 +01:00
|
|
|
expectOK($res);
|
2018-04-30 18:06:15 +02:00
|
|
|
expectCookie($res);
|
|
|
|
count(1);
|
|
|
|
|
2016-08-05 13:56:16 +02:00
|
|
|
clean_sessions();
|
|
|
|
|
|
|
|
done_testing( count() );
|