X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FTest%2FWeb.pm;h=fb317977040730d24018ec53dcdce00722e42e72;hb=e70abd21bab68b23488f7ef1ee2e693a3b365691;hp=9e3d6ae0cf0a24416d8133e8c760138e1eeb7d3a;hpb=b4b0c7e72d7eaee2fbfc7022022c9698323203dd;p=freeside.git diff --git a/rt/lib/RT/Test/Web.pm b/rt/lib/RT/Test/Web.pm index 9e3d6ae0c..fb3179770 100644 --- a/rt/lib/RT/Test/Web.pm +++ b/rt/lib/RT/Test/Web.pm @@ -76,23 +76,46 @@ sub login { my $self = shift; my $user = shift || 'root'; my $pass = shift || 'password'; + + $self->logout; my $url = $self->rt_base_url; + $self->get($url . "?user=$user;pass=$pass"); + unless ( $self->status == 200 ) { + Test::More::diag( "error: status is ". $self->status ); + return 0; + } + unless ( $self->content =~ qr/Logout/i ) { + Test::More::diag("error: page has no Logout"); + return 0; + } + unless ( $self->content =~ m{\Q$user\E}i ) { + Test::More::diag("Page has no user name"); + return 0; + } + return 1; +} +sub logout { + my $self = shift; + + my $url = $self->rt_base_url; $self->get($url); Test::More::diag( "error: status is ". $self->status ) unless $self->status == 200; + if ( $self->content =~ qr/Logout/i ) { $self->follow_link( text => 'Logout' ); + Test::More::diag( "error: status is ". $self->status ." when tried to logout" ) + unless $self->status == 200; } - - $self->get($url . "?user=$user;pass=$pass"); - unless ( $self->status == 200 ) { - Test::More::diag( "error: status is ". $self->status ); - return 0; + else { + return 1; } - unless ( $self->content =~ qr/Logout/i ) { - Test::More::diag("error: page has no Logout"); + + $self->get($url); + if ( $self->content =~ qr/Logout/i ) { + Test::More::diag( "error: couldn't logout" ); return 0; } return 1;