Skip to content
Snippets Groups Projects
Commit 204cced2 authored by Guillaume ROUSSE's avatar Guillaume ROUSSE
Browse files

additional tests

parent af88e945
No related branches found
No related tags found
No related merge requests found
......@@ -8,10 +8,17 @@ use File::Temp;
use IPC::Run qw(run);
use Test::More;
plan tests => 2;
plan tests => 4;
$ENV{ACCOUNTMANAGER_CONFIG} = 't/manager.conf';
my $has_database =
$ENV{TEST_DB_TYPE} &&
$ENV{TEST_DB_HOST} &&
$ENV{TEST_DB_NAME} &&
$ENV{TEST_DB_USER} &&
$ENV{TEST_DB_PASSWORD};
subtest start_page => sub {
plan tests => 4;
......@@ -44,7 +51,7 @@ subtest sp_selection_page => sub {
plan tests => 4;
local $ENV{REQUEST_METHOD} = 'GET';
local $ENV{QUERY_STRING} = 'action=account_wizard';
local $ENV{QUERY_STRING} = 'action=select_sp';
my ($out, $err, $rc) = run_executable('account-manager.cgi');
diag($out) if $ENV{TEST_DEBUG};
......@@ -55,17 +62,73 @@ subtest sp_selection_page => sub {
);
like(
$out,
qr{<title>eduGAIN Access Check - Select your Service Provider</title>},
qr{<title>eduGAIN Access Check</title>},
'page title'
);
like(
$out,
qr{<select id="entityid" name="entityid" class="required">},
'selection list'
'page content contains SP list'
);
is($err, '', 'empty stderr');
};
subtest email_selection_page_missing_parameter => sub {
plan tests => 4;
local $ENV{REQUEST_METHOD} = 'GET';
local $ENV{QUERY_STRING} = 'action=select_email';
my ($out, $err, $rc) = run_executable('account-manager.cgi');
diag($out) if $ENV{TEST_DEBUG};
like(
$out,
qr{^Content-Type: text/html\r\n\r\n},
'HTTP headers'
);
like(
$out,
qr{<title>eduGAIN Access Check</title>},
'page title'
);
like(
$out,
qr{Error:[\n\s]+missing parameter 'entityid'},
'page content contains expected error message'
);
my $error = $has_database ? qr{^$} : qr{^DBI connect\(\S+\) failed:};
like($err, $error, 'expected log message');
};
subtest email_selection_page_wrong_parameter => sub {
plan tests => 4;
local $ENV{REQUEST_METHOD} = 'GET';
local $ENV{QUERY_STRING} = 'action=select_email&entityid=foo';
my ($out, $err, $rc) = run_executable('account-manager.cgi');
diag($out) if $ENV{TEST_DEBUG};
like(
$out,
qr{^Content-Type: text/html\r\n\r\n},
'HTTP headers'
);
like(
$out,
qr{<title>eduGAIN Access Check</title>},
'page title'
);
like(
$out,
qr{Error:[\n\s]+format_entityid},
'page content contains expected error message'
);
my $error = $has_database ? qr{^$} : qr{^DBI connect\(\S+\) failed:};
like($err, $error, 'expected log message');
};
sub run_executable {
my ($executable, $args) = @_;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment