#!/usr/bin/perl -w
use strict;
use warnings "all";
use BZ::Client::Test();
use Test;
my $tester;
sub TestBasic() {
my $client = $tester->client();
if ($client->is_logged_in()) {
print STDERR "The client is already logged in.\n";
return 0;
}
eval {
$client->login();
};
if ($@) {
my $err = $@;
if (ref($err) eq "BZ::Client::Exception") {
print STDERR "Error: " . (defined($err->http_code()) ? $err->http_code() : "undef")
. ", " . (defined($err->xmlrpc_code()) ? $err->xmlrpc_code() : "undef")
. ", " . (defined($err->message()) ? $err->message() : "undef") . "\n";
} else {
print STDERR "Error $err\n";
}
}
if (!$client->is_logged_in()) {
print STDERR "The client isn't logged in.\n";
return 0;
}
eval {
$client->logout();
};
if ($@) {
my $err = $@;
if (ref($err) eq "BZ::Client::Exception") {
print STDERR "Error: " . (defined($err->http_code()) ? $err->http_code() : "undef")
. ", " . (defined($err->xmlrpc_code()) ? $err->xmlrpc_code() : "undef")
. ", " . (defined($err->message()) ? $err->message() : "undef") . "\n";
} else {
print STDERR "Error $err\n";
}
}
if ($client->is_logged_in()) {
print STDERR "The client is still logged in.\n";
return 0;
}
return 1;
}
plan(tests => 1);
$tester = BZ::Client::Test->new(["config.pl", "t/config.pl"]);
my $skipping;
if ($tester->isSkippingIntegrationTests()) {
$skipping = "No Bugzilla server configured, skipping";
} else {
$skipping = 0;
}
skip($skipping, \&TestBasic, 1, "TestBasic");