Bug 10806: make the staff benchmark script check authentication failure.

Currently, if you launch the script
misc/load_testing/benchmark_staff.pl, it always displays
"Authentication successful" or continue to execute the script even if
nothing is done.

This patch checks if the url is right and if the authentication is
correctly done.

Test plan:
Suppose that a correct login/pwd is koha/koha
1/
perl misc/load_testing/benchmark_staff.pl --steps=1
--url=http://admin.koha.local/cgi-bin/koha/
--password="koha" --user="koha"
should produce:
  Authentication successful
  ...
  Step 1
  ...

2/
perl misc/load_testing/benchmark_staff.pl --steps=1
--url=http://admin.koha.local/cgi-bin/koha/
--password="KOHA" --user="KOHA"
should produce:
Authentication failure: bad login/password

3/
perl misc/load_testing/benchmark_staff.pl --steps=1
--url=http://admin.kobe.local/cgi-bin/koha/
--password="koha" --user="koha"
should produce:
Authentication failure:
    500 Can't connect to admin.kobe.local:80 (Bad
    hostname)

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Works as described, detects bad url and user credentials.
No koha-qa errors

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described and gives better error messages.
There are some warnings output when running the script before
and after applying the patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
Jonathan Druart 2013-08-29 17:49:39 +02:00 committed by Galen Charlton
parent bd5aec7649
commit f2c0fe0ca1
1 changed files with 5 additions and 1 deletions

View File

@ -76,13 +76,17 @@ my $cookie_jar = HTTP::Cookies->new();
my $cookie;
$ua->cookie_jar($cookie_jar);
my $resp = $ua->post( "$baseurl"."/svc/authentication" , {userid =>$user, password => $password} );
if( $resp->is_success ) {
if( $resp->is_success and $resp->content =~ m|<status>ok</status>| ) {
$cookie_jar->extract_cookies( $resp );
$cookie = $cookie_jar->as_string;
unless ($short_print) {
print "Authentication successful\n";
print "Auth:\n $resp->content" if $debug;
}
} elsif ( $resp->is_success ) {
die "Authentication failure: bad login/password";
} else {
die "Authentication failure: \n\t" . $resp->status_line;
}
# remove some unnecessary garbage from the cookie