summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Test/Web.pm
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lib/RT/Test/Web.pm')
-rw-r--r--rt/lib/RT/Test/Web.pm37
1 files changed, 30 insertions, 7 deletions
diff --git a/rt/lib/RT/Test/Web.pm b/rt/lib/RT/Test/Web.pm
index 9e3d6ae..fb31797 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{<span>\Q$user\E</span>}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;