Bug 11124: disallow trying to run the staff benchmark script as the DB account
authorJonathan Druart <jonathan.druart@biblibre.com>
Wed, 23 Oct 2013 14:48:14 +0000 (16:48 +0200)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 13 Dec 2013 19:47:44 +0000 (19:47 +0000)
On step 6 (at least), the circulation and return page redirect to the
select branch page and nothing is done.

The script should die if the user used is the sql administrator account.

Test plan:
Suppose that the sql admin account is root/root and koha/koha a
superlibrarian account.

1/
perl misc/load_testing/benchmark_staff.pl --steps=6
--url=http://admin.koha.local/cgi-bin/koha/
--password="koha" --user="koha"
should produce:
  ...
  Step 6
  ...

2/
perl misc/load_testing/benchmark_staff.pl --steps=1
--url=http://admin.koha.local/cgi-bin/koha/
--password="root" --user="root"
should produce:
Authentication successful
You cannot use the database administrator account to launch this script

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
misc/load_testing/benchmark_staff.pl

index 786b04a..6ccaa49 100644 (file)
@@ -18,6 +18,7 @@ use Data::Dumper;
 use HTTP::Cookies;
 use C4::Context;
 use C4::Debug;
+use C4::Members qw ( GetMember );
 use URI::Escape;
 
 my ($help, $steps, $baseurl, $max_tries, $user, $password,$short_print);
@@ -89,6 +90,9 @@ if( $resp->is_success and $resp->content =~ m|<status>ok</status>| ) {
     die "Authentication failure: \n\t" . $resp->status_line;
 }
 
+die "You cannot use the database administrator account to launch this script"
+    unless defined C4::Members::GetMember(userid => $user);
+
 # remove some unnecessary garbage from the cookie
 $cookie =~ s/ path_spec; discard; version=0//;
 $cookie =~ s/Set-Cookie3: //;