r46080 - in /branches/upstream/libjira-client-perl/current: Changes MANIFEST META.yml Makefile.PL README lib/JIRA/Client.pm t/01-online.t t/01-setup.t t/pod-coverage.t t/pod.t

angelabad-guest at users.alioth.debian.org angelabad-guest at users.alioth.debian.org
Mon Oct 19 09:31:59 UTC 2009


Author: angelabad-guest
Date: Mon Oct 19 09:31:35 2009
New Revision: 46080

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=46080
Log:
[svn-upgrade] Integrating new upstream version, libjira-client-perl (0.17)

Added:
    branches/upstream/libjira-client-perl/current/t/01-online.t   (with props)
Removed:
    branches/upstream/libjira-client-perl/current/t/01-setup.t
Modified:
    branches/upstream/libjira-client-perl/current/Changes
    branches/upstream/libjira-client-perl/current/MANIFEST
    branches/upstream/libjira-client-perl/current/META.yml
    branches/upstream/libjira-client-perl/current/Makefile.PL
    branches/upstream/libjira-client-perl/current/README
    branches/upstream/libjira-client-perl/current/lib/JIRA/Client.pm
    branches/upstream/libjira-client-perl/current/t/pod-coverage.t
    branches/upstream/libjira-client-perl/current/t/pod.t

Modified: branches/upstream/libjira-client-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libjira-client-perl/current/Changes?rev=46080&op=diff
==============================================================================
--- branches/upstream/libjira-client-perl/current/Changes (original)
+++ branches/upstream/libjira-client-perl/current/Changes Mon Oct 19 09:31:35 2009
@@ -1,4 +1,16 @@
 Revision history for JIRA-Client
+
+0.17	2009-10-18
+
+	Implements the method get_issue_custom_field_values, to more
+	easily grok the custom field values from an issue.
+
+	Refactors some code in a bunch of helper functions.
+
+	Implements many more online tests. There are 39 now.
+
+	Makes the POD tests disabled by default. They are meant to be
+	used by the author only.
 
 0.16	2009-10-04
 

Modified: branches/upstream/libjira-client-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libjira-client-perl/current/MANIFEST?rev=46080&op=diff
==============================================================================
--- branches/upstream/libjira-client-perl/current/MANIFEST (original)
+++ branches/upstream/libjira-client-perl/current/MANIFEST Mon Oct 19 09:31:35 2009
@@ -5,7 +5,7 @@
 TODO
 lib/JIRA/Client.pm
 t/00-load.t
-t/01-setup.t
+t/01-online.t
 t/pod-coverage.t
 t/pod.t
 META.yml                                 Module meta-data (added by MakeMaker)

Modified: branches/upstream/libjira-client-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libjira-client-perl/current/META.yml?rev=46080&op=diff
==============================================================================
--- branches/upstream/libjira-client-perl/current/META.yml (original)
+++ branches/upstream/libjira-client-perl/current/META.yml Mon Oct 19 09:31:35 2009
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:                JIRA-Client
-version:             0.16
+version:             0.17
 abstract:            An extended interface to JIRA's SOAP API.
 license:             ~
 author:              

Modified: branches/upstream/libjira-client-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libjira-client-perl/current/Makefile.PL?rev=46080&op=diff
==============================================================================
--- branches/upstream/libjira-client-perl/current/Makefile.PL (original)
+++ branches/upstream/libjira-client-perl/current/Makefile.PL Mon Oct 19 09:31:35 2009
@@ -7,22 +7,40 @@
 # clean up the online testing flag file.
 unlink("t/online.enabled");
 
-my $usage        = "$0 [--online-tests=JIRA_URL,USER,PASS,PRJKEY]\n";
+my $usage = "$0 [--author-tests] [--online-tests=JIRAURL,USER,PASS,PRJKEY,ISSUETYPE,PRIORITY,COMPONENT,VERSION,CUSTOMFIELDNAME,CUSTOMFIELDVALUE,FILTER,ACTION]\n";
+my $author_tests = 0;
 my $online_tests;
 GetOptions(
+    'author-tests'   => \$author_tests,
     'online-tests=s' => \$online_tests,
 ) or die $usage;
 
+if ($author_tests) {
+    open(ENABLED, '>t/author.enabled') or die "Can't touch ./t/author.enabled: $!";
+    close(ENABLED)                     or die "Can't touch ./t/author.enabled: $!";
+}
+
 if ($online_tests) {
-    my ($url, $user, $pass, $prjkey) = split /,/, $online_tests;
+    # These are the author's personal test configuration. :-)
+    $online_tests = 'http://localhost:8080/,gustavo,senhaforte,TST,Bug,Major,comp1,1.1,cor,azul,filtro,Close Issue'
+	if $online_tests eq 'default';
+    my ($url, $user, $pass, $prjkey, $type, $prio, $component, $version, $cfname, $cfvalue, $filter, $action) = split /,/, $online_tests;
     defined $prjkey or die $usage;
     open(ENABLED, ">t/online.enabled") or die "Can't touch ./t/online.enabled: $!";
     print ENABLED <<"EOS";
 {
-    url    => '$url',
-    user   => '$user',
-    pass   => '$pass',
-    prjkey => '$prjkey',
+    url       => '$url',
+    user      => '$user',
+    pass      => '$pass',
+    prjkey    => '$prjkey',
+    type      => '$type',
+    priority  => '$prio',
+    component => '$component',
+    version   => '$version',
+    cfname    => '$cfname',
+    cfvalue   => '$cfvalue',
+    filter    => '$filter',
+    action    => '$action',
 };
 EOS
     close(ENABLED) or die "Can't touch ./t/online.enabled: $!";
@@ -40,5 +58,5 @@
 	'SOAP::Lite' => 0,
     },
     dist                => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
-    clean               => { FILES => 'JIRA-Client-*' },
+    clean               => { FILES => 'JIRA-Client-* t/author.enabled t/online.enabled' },
 );

Modified: branches/upstream/libjira-client-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libjira-client-perl/current/README?rev=46080&op=diff
==============================================================================
--- branches/upstream/libjira-client-perl/current/README (original)
+++ branches/upstream/libjira-client-perl/current/README Mon Oct 19 09:31:35 2009
@@ -1,6 +1,6 @@
 Name:    JIRA-Client
 What:    A OO interface to JIRA's SOAP API.
-Version: 0.16
+Version: 0.17
 Author:  Gustavo Chaves <gnustavo at cpan.org>
 
 JIRA is a proprietary bug tracking system from Atlassian

Modified: branches/upstream/libjira-client-perl/current/lib/JIRA/Client.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libjira-client-perl/current/lib/JIRA/Client.pm?rev=46080&op=diff
==============================================================================
--- branches/upstream/libjira-client-perl/current/lib/JIRA/Client.pm (original)
+++ branches/upstream/libjira-client-perl/current/lib/JIRA/Client.pm Mon Oct 19 09:31:35 2009
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 0.16
-
-=cut
-
-our $VERSION = '0.16';
+Version 0.17
+
+=cut
+
+our $VERSION = '0.17';
 
 =head1 SYNOPSIS
 
@@ -150,6 +150,83 @@
     # to not call it.
 
     # shift->logout();
+}
+
+# These are some helper functions to convert names into ids.
+
+sub _convert_type {
+    my ($self, $type) = @_;
+    if ($type =~ /\D/) {
+	my $types = $self->get_issue_types();
+	croak "There is no issue type called '$type'.\n"
+	    unless exists $types->{$type};
+	return $types->{$type}{id};
+    }
+    return $type;
+}
+
+sub _convert_priority {
+    my ($self, $prio) = @_;
+    if ($prio =~ /\D/) {
+	my $prios = $self->get_priorities();
+	croak "There is no priority called '$prio'.\n"
+	    unless exists $prios->{$prio};
+	return $prios->{$prio}{id};
+    }
+    return $prio;
+}
+
+sub _convert_components {
+    my ($self, $icomps, $project) = @_; # issue components, project key
+    croak "The 'components' value must be an ARRAY ref.\n"
+       unless ref $icomps && ref $icomps eq 'ARRAY';
+    my $pcomps;			# project components
+    foreach my $c (@{$icomps}) {
+       next if ref $c;
+       if ($c =~ /\D/) {
+           # It's a component name. Let us convert it into its id.
+           $pcomps = $self->get_components($project) unless defined $pcomps;
+           croak "There is no component called '$c'.\n" unless exists $pcomps->{$c};
+           $c = $pcomps->{$c}{id};
+       }
+       # Now we can convert it into an object.
+       $c = RemoteComponent->new($c);
+    }
+}
+
+sub _convert_versions {
+    my ($self, $iversions, $project) = @_;  # issue versions, project key
+    croak "The '$iversions' value must be a ARRAY ref.\n"
+       unless ref $iversions && ref $iversions eq 'ARRAY';
+    my $pversions;
+    foreach my $v (@{$iversions}) {
+       next if ref $v;
+       if ($v =~ /\D/) {
+           # It is a version name. Let us convert it into its id.
+           $pversions = $self->get_versions($project) unless defined $pversions;
+           croak "There is no version called '$v'.\n" unless exists $pversions->{$v};
+           $v = $pversions->{$v}{id};
+       }
+       # Now we can convert it into an object.
+       $v = RemoteVersion->new($v);
+    }
+}
+
+sub _convert_custom_fields {
+    my ($self, $custom_fields) = @_;
+    croak "The 'custom_fields' value must be a HASH ref.\n"
+	unless ref $custom_fields && ref $custom_fields eq 'HASH';
+    my %id2values;
+    while (my ($id, $values) = each %$custom_fields) {
+	unless ($id =~ /^customfield_\d+$/) {
+	    my $cfs = $self->get_custom_fields();
+	    croak "Can't find custom field named '$id'.\n"
+		unless exists $cfs->{$id};
+	    $id = $cfs->{$id}{id};
+	}
+	$id2values{$id} = ref $values ? $values : [$values];
+    }
+    return \%id2values;
 }
 
 =item B<create_issue> HASH_REF
@@ -199,83 +276,28 @@
     }
 
     # Convert type names
-    if ($hash->{type} =~ /\D/) {
-	my $type  = $hash->{type};
-	my $types = $self->get_issue_types();
-
-	croak "There is no issue type called '$type'.\n"
-	    unless exists $types->{$type};
-	$hash->{type} = $types->{$type}{id};
-    }
+    $hash->{type} = $self->_convert_type($hash->{type});
 
     # Convert priority names
-    if (exists $hash->{priority} && $hash->{priority} =~ /\D/) {
-	my $prio  = $hash->{priority};
-	my $prios = $self->get_priorities();
-
-	croak "There is no priority called '$prio'.\n"
-	    unless exists $prios->{$prio};
-	$hash->{priority} = $prios->{$prio}{id};
-    }
+    $hash->{priority} = $self->_convert_priority($hash->{priority})
+	if exists $hash->{priority};
 
     # Convert component names
-    if (exists $hash->{components}) {
-	croak "The 'components' value must be an ARRAY ref.\n"
-	    unless ref $hash->{components} && ref $hash->{components} eq 'ARRAY';
-	my $comps;
-	foreach my $c (@{$hash->{components}}) {
-	    if (! ref $c) {
-		if ($c =~ /\D/) {
-		    # It is a component name. Let us convert it into its id.
-		    $comps = $self->get_components($hash->{project}) unless defined $comps;
-		    croak "There is no component called '$c'.\n" unless exists $comps->{$c};
-		    $c = $comps->{$c}{id};
-		}
-		# Now we can convert it into an object.
-		$c = RemoteComponent->new($c);
-	    }
-	}
-    }
+    $self->_convert_components($hash->{components}, $hash->{project})
+	if exists $hash->{components};
 
     # Convert version ids and names into RemoteVersion objects
     for my $versions (qw/fixVersions affectsVersions/) {
-	if (exists $hash->{$versions}) {
-	    croak "The '$versions' value must be a ARRAY ref.\n"
-		unless ref $hash->{$versions} && ref $hash->{$versions} eq 'ARRAY';
-	    my $verss;
-	    foreach my $v (@{$hash->{$versions}}) {
-		if (! ref $v) {
-		    if ($v =~ /\D/) {
-			# It is a version name. Let us convert it into its id.
-			$verss = $self->get_versions($hash->{project}) unless defined $verss;
-			croak "There is no version called '$v'.\n" unless exists $verss->{$v};
-			$v = $verss->{$v}{id};
-		    }
-		    # Now we can convert it into an object.
-		    $v = RemoteVersion->new($v);
-		}
-	    }
-	}
+	$self->_convert_versions($hash->{$versions}, $hash->{project})
+	    if exists $hash->{$versions};
     }
 
     # Convert custom fields
-    if (my $cfs = delete $hash->{custom_fields}) {
-	croak "The 'custom_fields' value must be a HASH ref.\n"
-	    unless ref $cfs && ref $cfs eq 'HASH';
+    if (my $custom_fields = delete $hash->{custom_fields}) {
 	my @cfvs;
-	while (my ($id, $values) = each %$cfs) {
-	    unless ($id =~ /^customfield_\d+$/) {
-		my $cfs = $self->get_custom_fields();
-		croak "Can't find custom field named '$id'.\n"
-		    unless exists $cfs->{$id};
-		$id = $cfs->{$id}{id};
-	    }
-	    $values = [$values] unless ref $values;
-	    push @cfvs, bless({
-		customfieldId => $id,
-		key => undef,
-		values => $values,
-	    } => 'RemoteCustomFieldValue');
+	my $id2values = $self->_convert_custom_fields($custom_fields);
+	while (my ($id, $values) = each %$id2values) {
+	    push @cfvs, RemoteCustomFieldValue->new($id, $values);
 	}
 	$hash->{customFieldValues} = \@cfvs;
     }
@@ -611,76 +633,72 @@
     }
 
     # Convert priority names
-    if (exists $params->{priority} && $params->{priority} =~ /\D/) {
-	my $prio  = $params->{priority};
-	my $prios = $self->get_priorities();
-
-	croak "There is no priority called '$prio'.\n"
-	    unless exists $prios->{$prio};
-	$params->{priority} = $prios->{$prio}{id};
-    }
+    $params->{priority} = $self->_convert_priority($params->{priority})
+	if exists $params->{priority};
 
     # Convert component names
     if (exists $params->{components}) {
-	croak "The 'components' value must be an ARRAY ref.\n"
-	    unless ref $params->{components} && ref $params->{components} eq 'ARRAY';
-	foreach my $c (@{$params->{components}}) {
-	    if (ref $c) {
-		die "Unexpected object in components list (", ref($c), ")\n"
-		    unless ref $c eq 'RemoteComponent';
-		$c = $c->{id};
-	    }
-	    elsif ($c =~ /\D/) {
-		# It is a component name. Let us convert it into its id.
-		my $components = $self->get_components($project);
-		croak "There is no component called '$c'.\n" unless exists $components->{$c};
-		$c = $components->{$c}{id};
-	    }
-	}
+	$self->_convert_components($params->{components}, $project);
+	# Now convert objects into ids.
+	$_ = $_->{id} foreach @{$params->{components}};
     }
 
     # Convert version names and RemoteVersion objects into version ids
     for my $versions (qw/fixVersions affectsVersions/) {
 	if (exists $params->{$versions}) {
-	    croak "The '$versions' value must be a ARRAY ref.\n"
-		unless ref $params->{$versions} && ref $params->{$versions} eq 'ARRAY';
-	    foreach my $v (@{$params->{$versions}}) {
-		if (ref $v) {
-		    die "Unexpected object in version list (", ref($v), ")\n"
-			unless ref $v eq 'RemoteVersion';
-		    $v = $v->{id};
-		}
-		elsif ($v =~ /\D/) {
-		    # It is a version name. Let us convert it into its id.
-		    my $versions = $self->get_versions($project);
-		    croak "There is no version called '$v'.\n" unless exists $versions->{$v};
-		    $v = $versions->{$v}{id};
-		}
-	    }
+	    $self->_convert_versions($params->{$versions}, $project);
+	    # Now convert objects into ids.
+	    $_ = $_->{id} foreach @{$params->{$versions}};
 	}
     }
     if (exists $params->{affectsVersions}) {
-	# This is due to a bug in JIRA
-	# http://jira.atlassian.com/browse/JRA-12300
+	# This is due to a bug in JIRA: http://jira.atlassian.com/browse/JRA-12300
 	$params->{versions} = delete $params->{affectsVersions};
     }
 
     # Convert custom fields
     if (my $custom_fields = delete $params->{custom_fields}) {
-	croak "The 'custom_fields' value must be a HASH ref.\n"
-	    unless ref $custom_fields && ref $custom_fields eq 'HASH';
-	while (my ($id, $values) = each %$custom_fields) {
-	    unless ($id =~ /^customfield_\d+$/) {
-		my $cfs = $self->get_custom_fields();
-		croak "Can't find custom field named '$id'.\n"
-		    unless exists $cfs->{$id};
-		$id = $cfs->{$id}{id};
-	    }
-	    $params->{$id} = [$values] unless ref $values;
+	my $id2values = $self->_convert_custom_fields($custom_fields);
+	while (my ($id, $values) = each %$id2values) {
+	    $params->{$id} = $values;
 	}
     }
 
     $self->progressWorkflowAction($key, $action, $params);
+}
+
+=item B<get_issue_custom_field_values> ISSUE, NAME_OR_IDs
+
+This method receives a RemoteField object and a list of names or ids
+of custom fields. It returns a list of references to the ARRAYs
+containing the values of the ISSUE's custom fields denoted by their
+NAME_OR_IDs. Returns undef for custom fields not set on the issue.
+
+In scalar context it returns a reference to the list.
+
+=cut
+
+sub get_issue_custom_field_values {
+    my ($self, $issue, @cfs) = @_;
+    my @values;
+    my $cfs;
+  CUSTOM_FIELD:
+    foreach my $cf (@cfs) {
+	unless ($cf =~ /^customfield_\d+$/) {
+	    $cfs = $self->get_custom_fields() unless defined $cfs;
+	    croak "Can't find custom field named '$cf'.\n"
+		unless exists $cfs->{$cf};
+	    $cf = $cfs->{$cf}{id};
+	}
+	foreach my $rcfv (@{$issue->{customFieldValues}}) {
+	    if ($rcfv->{customfieldId} eq $cf) {
+		push @values, $rcfv->{values};
+		next CUSTOM_FIELD;
+	    }
+	}
+	push @values, undef;	# unset custom field
+    }
+    return wantarray ? @values : \@values;
 }
 
 =back
@@ -723,6 +741,34 @@
 
     $values = [$values] unless ref $values;
     bless({id => $id, values => $values}, $class);
+}
+
+=item B<RemoteCustomFieldValue-E<gt>new> ID, VALUES
+
+The RemoteCustomFieldValue object represents the value of a
+custom_field of an issue. It needs two arguments:
+
+=over
+
+=item ID
+
+The field name, which must be a valid custom_field key.
+
+=item VALUES
+
+A scalar or an array of scalars.
+
+=back
+
+=cut
+
+package RemoteCustomFieldValue;
+
+sub new {
+    my ($class, $id, $values) = @_;
+
+    $values = [$values] unless ref $values;
+    bless({customfieldId => $id, key => undef, values => $values} => $class);
 }
 
 =item B<RemoteComponent-E<gt>new> ID, NAME

Added: branches/upstream/libjira-client-perl/current/t/01-online.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libjira-client-perl/current/t/01-online.t?rev=46080&op=file
==============================================================================
--- branches/upstream/libjira-client-perl/current/t/01-online.t (added)
+++ branches/upstream/libjira-client-perl/current/t/01-online.t Mon Oct 19 09:31:35 2009
@@ -1,0 +1,107 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use Test::More;
+use JIRA::Client;
+
+my $conf;
+if (-f 't/online.enabled') {
+    $conf = do 't/online.enabled';
+    plan tests => 39;
+}
+else {
+    plan skip_all => 'Online tests are disabled.';
+}
+
+my $jira = eval {JIRA::Client->new($conf->{url}, $conf->{user}, $conf->{pass})};
+
+ok(defined $jira, 'new returns')
+    and ok(ref $jira, 'new returns an object')
+    and is(ref $jira, 'JIRA::Client', 'new returns a correct object')
+    or BAIL_OUT("Cannot proceed without a JIRA::Client object: $@\n");
+
+my $types = eval {$jira->get_issue_types()};
+
+ok(defined $types, 'get_issue_types returns')
+    and ok(ref $types && ref $types eq 'HASH', 'get_issue_types returns a hash reference')
+    and ok(exists $types->{$conf->{type}}, "issue type $conf->{type} exists");
+
+my $prios = eval {$jira->get_priorities()};
+
+ok(defined $prios, 'get_priorities returns')
+    and ok(ref $prios && ref $prios eq 'HASH', 'get_priorities returns a hash reference')
+    and ok(exists $prios->{$conf->{priority}}, "Priority $conf->{priority} exists");
+
+my $cfs = eval {$jira->get_custom_fields()};
+
+ok(defined $cfs, 'get_custom_fields')
+    and ok(ref $cfs && ref $cfs eq 'HASH', 'get_custom_fields returns a hash reference')
+    and ok(exists $cfs->{$conf->{cfname}}, "Custom field $conf->{cfname} exists");
+
+my $components = eval {$jira->get_components($conf->{prjkey})};
+
+ok(defined $components, 'get_components')
+    and ok(ref $components && ref $components eq 'HASH', 'get_components returns a hash reference')
+    and ok(exists $components->{$conf->{component}}, "Component $conf->{component} exists");
+
+my $versions = eval {$jira->get_versions($conf->{prjkey})};
+
+ok(defined $versions, 'get_versions')
+    and ok(ref $versions && ref $versions eq 'HASH', 'get_versions returns a hash reference')
+    and ok(exists $versions->{$conf->{version}}, "Version $conf->{version} exists");
+
+my $filters = eval {$jira->get_favourite_filters()};
+
+ok(defined $filters, 'get_favourite_filters')
+    and ok(ref $filters && ref $filters eq 'HASH', 'get_favourite_filters returns a hash reference')
+    and ok(exists $filters->{$conf->{filter}}, "Filter $conf->{filter} exists");
+
+my $issue = eval {$jira->create_issue({
+    project         => $conf->{prjkey},
+    type            => $conf->{type},
+    assignee        => $conf->{user},
+    priority        => $conf->{priority},
+    components      => [$conf->{component}],
+    affectsVersions => [$conf->{version}],
+    custom_fields   => {$conf->{cfname} => $conf->{cfvalue}},
+    summary         => 'JIRA::Client test',
+})};
+
+ok(defined $issue, 'create_issue returns')
+    and ok(ref $issue, 'create_issue returns an object')
+    and is(ref $issue, 'RemoteIssue', 'create_issue returns a RemoteIssue object')
+    or BAIL_OUT("Cannot proceed because I cannot create an issue: $@\n");
+
+$issue = eval {$jira->getIssue($issue->{key})};
+
+ok(defined $issue, 'getissue returns')
+    and ok(ref $issue, 'getIssue returns an object')
+    and is(ref $issue, 'RemoteIssue', 'getIssue returns a RemoteIssue object')
+    and is($issue->{summary}, 'JIRA::Client test', 'getIssue returns the correct issue')
+    or BAIL_OUT("Cannot proceed because I cannot get anything from the server: $@\n");
+
+my ($value) = eval {$jira->get_issue_custom_field_values($issue, $conf->{cfname})};
+
+ok(defined $value, 'get_issue_custom_field_values returns')
+    and ok(ref $value && ref $value eq 'ARRAY', 'get_issue_custom_field_values returns an ARRAY ref')
+    and is($value->[0], $conf->{cfvalue}, 'get_issue_custom_field_values returns the correct value');
+
+eval {$jira->set_filter_iterator($conf->{filter})};
+
+is($@, '', 'set_filter_iterator works');
+
+my $nissue = eval {$jira->next_issue()};
+
+ok(defined $nissue, 'next_issue returns')
+    and ok(ref $nissue, 'next_ssue returns an object')
+    and is(ref $nissue, 'RemoteIssue', 'next_issue returns a RemoteIssue object');
+
+my $actions = eval {$jira->getAvailableActions($issue->{key})};
+
+my $pissue = eval {$jira->progress_workflow_action_safely($issue, $conf->{action})};
+
+ok(defined $pissue, 'progress_workflow_action_safely returns')
+    and ok(ref $pissue, 'next_ssue returns an object')
+    and is(ref $pissue, 'RemoteIssue', 'progress_workflow_action_safely returns a RemoteIssue object')
+    and isnt($issue->{status}, $pissue->{status}, 'progress_workflow_action_safely progressed the issue');

Propchange: branches/upstream/libjira-client-perl/current/t/01-online.t
------------------------------------------------------------------------------
    svn:executable = *

Modified: branches/upstream/libjira-client-perl/current/t/pod-coverage.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libjira-client-perl/current/t/pod-coverage.t?rev=46080&op=diff
==============================================================================
--- branches/upstream/libjira-client-perl/current/t/pod-coverage.t (original)
+++ branches/upstream/libjira-client-perl/current/t/pod-coverage.t Mon Oct 19 09:31:35 2009
@@ -1,6 +1,8 @@
 use strict;
 use warnings;
 use Test::More;
+
+plan skip_all => "Author-only tests" unless -e 't/author.enabled';
 
 # Ensure a recent version of Test::Pod::Coverage
 my $min_tpc = 1.08;

Modified: branches/upstream/libjira-client-perl/current/t/pod.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libjira-client-perl/current/t/pod.t?rev=46080&op=diff
==============================================================================
--- branches/upstream/libjira-client-perl/current/t/pod.t (original)
+++ branches/upstream/libjira-client-perl/current/t/pod.t Mon Oct 19 09:31:35 2009
@@ -3,6 +3,8 @@
 use strict;
 use warnings;
 use Test::More;
+
+plan skip_all => "Author-only tests" unless -e 't/author.enabled';
 
 # Ensure a recent version of Test::Pod
 my $min_tp = 1.22;




More information about the Pkg-perl-cvs-commits mailing list