sub rm_adm_tests{ my($u,$pw,$real,$baseurl) = @_; my($rm,$rmurl,$string); my @runmodes_adm = ( 'admin_AccessAdmin', 'admin_CreateNewUser', 'admin_EditUser', 'admin_DeleteUser', 'admin_CreateNewGroup', 'admin_DeleteGroup', ); if($u =~ /adm/){ diag("User is an administrative user."); } else { diag("User is NOT an administrative user."); } diag("$u logging in at $baseurl."); RM: foreach $rm (@runmodes_adm){ $test = login_mech($baseurl,$u,$pw); $rmurl = $baseurl."?rm=".$rm; if($real){ next RM unless $test eq $u; $agent->follow_link (text_regex => qr/Administer User Access/i); if($u =~ /adm/){ $test = stringify_test($agent->content,"User Administration Menu"); if ($test = qr/User Administration Menu/){ $agent->get($rmurl); $test = stringify_test($agent->content,"$rm"); is($test, "$rm", "ACCESS: ".$agent->uri()); } $agent->back; $agent->submit_form(form_name => 'logout', button => '.submit'); $agent->reload(); } else { diag("Status: ".$agent->status()."\tSuccess: ". $agent->success()."\nURL: ".$agent->uri()); $string = stringify_test($agent->content,"User Administration Menu"); unlike ($string, qr/User Administration Menu/, "DENIED: ".$agent->uri); $agent->get ($rmurl); $string = stringify_test($agent->content,$rm); unlike($string, qr/$rm/, "DENIED: ".$agent->uri()); $agent->back; } } else { isnt ($test, $u, "$u denied access at Login."); } } }