Artifactory-Client

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

1.1.1   2016/4/2
        Switching back from Module::Build to ExtUtils::MakeMaker as Module::Build has been removed from the core

1.1.0   2016/4/1
        Added API calls up to 4.6.0

1.0.0   2015/11/18
        Done with functional tests, releasing as 1.0.0

0.9.3   2015/11/5
        Merged mithun's PR to work-around how HTTP::Request::StreamingUpload handles files

0.9.2   2015/10/11
        Adding test data in manifest

0.9.1   2015/10/10
        Added mithun's PR for calculate_bower_repository_metadata

0.9.0   2015/8/2
        Releasing new features from PR

META.json  view on Meta::CPAN

            "WWW::Mechanize" : "0"
         }
      },
      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "HTTP::Request::StreamingUpload" : "0",
            "JSON::MaybeXS" : "0",
            "LWP::UserAgent" : "0",
            "Moose" : "2.0604",
            "MooseX::StrictConstructor" : "0",
            "Path::Tiny" : "0",
            "URI::Escape" : "0",
            "namespace::autoclean" : "0",
            "perl" : "5.006"
         }
      }

META.yml  view on Meta::CPAN

license: artistic_2
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: Artifactory-Client
no_index:
  directory:
    - t
    - inc
requires:
  HTTP::Request::StreamingUpload: '0'
  JSON::MaybeXS: '0'
  LWP::UserAgent: '0'
  Moose: '2.0604'
  MooseX::StrictConstructor: '0'
  Path::Tiny: '0'
  URI::Escape: '0'
  namespace::autoclean: '0'
  perl: '5.006'
version: v1.8.0
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Makefile.PL  view on Meta::CPAN

    LICENSE            => 'artistic_2',
    PL_FILES           => {},
    MIN_PERL_VERSION   => 5.006,
    CONFIGURE_REQUIRES => {
        'ExtUtils::MakeMaker' => 0,
    },
    BUILD_REQUIRES => {
        'WWW::Mechanize' => 0,
    },
    PREREQ_PM => {
        'HTTP::Request::StreamingUpload' => 0,
        'JSON::MaybeXS'                  => 0,
        'LWP::UserAgent'                 => 0,
        'Moose'                          => 2.0604,
        'MooseX::StrictConstructor'      => 0,
        'namespace::autoclean'           => 0,
        'Path::Tiny'                     => 0,
        'URI::Escape'                    => 0,
    },
    dist  => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
    clean => { FILES    => 'Artifactory-Client-*' },

lib/Artifactory/Client.pm  view on Meta::CPAN

use Moose;

use Data::Dumper;
use URI;
use JSON::MaybeXS;
use LWP::UserAgent;
use Path::Tiny qw();
use MooseX::StrictConstructor;
use URI::Escape qw(uri_escape);
use File::Basename qw(basename);
use HTTP::Request::StreamingUpload;

use namespace::autoclean;

=head1 NAME

Artifactory::Client - Perl client for Artifactory REST API

=head1 VERSION

Version 1.8.0

lib/Artifactory/Client.pm  view on Meta::CPAN

    my $properties = $args{properties};
    my $file       = $args{file};
    my $header     = $args{header};

    $path = $self->_merge_repo_and_path($path);
    my @joiners = ( $self->_art_url() . "/$path" );
    my $props = $self->_attach_properties( properties => $properties, matrix => 1 );
    push @joiners, $props if ($props);    # if properties aren't passed in, the function returns empty string

    my $url = join( ";", @joiners );
    my $req = HTTP::Request::StreamingUpload->new(
        PUT     => $url,
        headers => HTTP::Headers->new( %{$header} ),
        ( $file ? ( fh => Path::Tiny::path($file)->openr_raw() ) : () ),
    );
    return $self->request($req);
}

=head2 deploy_artifact_by_checksum( path => $path, properties => { key => [ values ] }, file => $file, sha1 => $sha1 )

Takes path, properties, filename and sha1 then deploys the file.  Note that properties are a hashref with key-arrayref

t/01_unit.t  view on Meta::CPAN


use strict;
use warnings;
use Test::More;
use Data::Dumper;
use FindBin qw($Bin);
use lib "$Bin/../lib", "$Bin/../local/lib/perl5";
use JSON::MaybeXS;
use WWW::Mechanize;
use URI::http;
use HTTP::Request;
use Artifactory::Client;
use Path::Tiny;

# it became silly to do this in every subtest
no strict 'refs';
no warnings 'redefine';

my $artifactory = 'http://example.com';
my $port        = 7777;
my $repository  = 'repository';

t/01_unit.t  view on Meta::CPAN

                '_request' => bless(
                    {
                        '_headers' => bless(
                            {
                                'x-checksum-sha1'   => $sha1,
                                'x-checksum-deploy' => 'true',
                            },
                            'HTTP::Headers'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };

    my $resp = $client->deploy_artifact_by_checksum( path => $path, sha1 => $sha1 );
    is( $resp->request()->header('x-checksum-deploy'), 'true', 'x-checksum-deploy set' );
    is( $resp->request()->header('x-checksum-sha1'),   $sha1,  'x-checksum-sha1 set' );

t/01_unit.t  view on Meta::CPAN

                    {
                        '_uri' => bless(
                            do {
                                \( my $o =
'http://example.com:7777/artifactory/api/build/api-test?buildNumbers=1&artifacts=0&deleteAll=0'
                                );
                            },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };

    my $resp = $client->delete_builds( name => 'api-test', buildnumbers => [1], artifacts => 0, deleteall => 0 );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr/buildNumbers=1/, 'buildNumbers showed up' );
    like( $url_in_response, qr/artifacts=0/,    'artifacts showed up' );

t/01_unit.t  view on Meta::CPAN

                    {
                        '_uri' => bless(
                            do {
                                \( my $o =
'http://example.com:7777/artifactory/repository/unique_path/0.9.9-SNAPSHOT/unique_path-0.9.9-SNAPSHOT.jar'
                                );
                            },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->retrieve_latest_artifact( path => $path, version => '0.9.9', flag => 'snapshot' );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr/\Qunique_path-0.9.9-SNAPSHOT.jar\E/, 'snapshot URL looks sane' );

    local *{'LWP::UserAgent::get'} = sub {

t/01_unit.t  view on Meta::CPAN

                    {
                        '_uri' => bless(
                            do {
                                \( my $o =
'http://example.com:7777/artifactory/repository/unique_path/release/unique_path-release.jar'
                                );
                            },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    $resp = $client->retrieve_latest_artifact( path => $path, release => 'release', flag => 'release' );
    my $url_in_response2 = $resp->request->uri;
    like( $url_in_response2, qr/\Qunique_path-release.jar\E/, 'release URL looks sane' );

    local *{'LWP::UserAgent::get'} = sub {

t/01_unit.t  view on Meta::CPAN

                    {
                        '_uri' => bless(
                            do {
                                \( my $o =
'http://example.com:7777/artifactory/repository/unique_path/1.0-integration/unique_path-1.0-integration.jar'
                                );
                            },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    $resp = $client->retrieve_latest_artifact(
        path        => $path,
        version     => '1.0',
        integration => 'integration',
        flag        => 'integration'

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/repo$path!$archive_path" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->archive_entry_download( $path, $archive_path );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr/$path!$archive_path/, 'archive_entry_download succeeded' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/compliance/repo/some_path" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->file_compliance_info('/some_path');
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/compliance|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::post'} = sub {
        return $mock_responses{http_200};
    };
    my $resp = $client->move_item( from => "/repo/some_path", to => "/repo2/some_path2" );
    is( $resp->code, 200, 'move_item worked' );
};

subtest 'request method call', sub {
    my $client = setup();
    my $req = HTTP::Request->new( GET => 'http://www.example.com/' );

    local *{'LWP::UserAgent::request'} = sub {
        return $mock_responses{http_200};
    };
    my $resp = $client->request($req);
    is( $resp->code, 200, 'request method call worked' );
};

subtest 'scheduled_replication_status', sub {
    my $client = setup();

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/replications/foobar" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->get_repository_replication_configuration();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/replications|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/replications/foobar" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->set_repository_replication_configuration($payload);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/replications|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/replications/foobar" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->update_repository_replication_configuration($payload);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/replications|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/replication/execute/foobar" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->pull_push_replication( payload => $payload, path => $path );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/replication/execute/foobar|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/replications/multiple" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->create_or_replace_local_multi_push_replication($payload);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/replications/multiple|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/replications/multiple" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->update_local_multi_push_replication($payload);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/replications/multiple|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

                    {
                        '_uri' => bless(
                            do {
                                \( my $o =
"http://example.com:7777/artifactory/api/replications/repository?url=http://10.0.0.1/artifactory/libs-release-local"
                                );
                            },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->delete_local_multi_push_replication($url);
    my $url_in_response = $resp->request->uri;
    like(
        $url_in_response,
        qr|/api/replications/repository\?url=http://10.0.0.1/artifactory/libs-release-local|,

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/archive" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->archive_entry_search( name => 'archive', repos => ['repo'] );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/archive|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/checksum" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->checksum_search(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/checksum|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/badChecksum" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->bad_checksum_search(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/badChecksum|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/usage" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->artifacts_not_downloaded_since(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/usage|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/dates" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };

    my $resp            = $client->artifacts_with_date_in_date_range(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/dates|, 'requested URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/creation" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->artifacts_created_in_date_range(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/creation|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/dependency" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->builds_for_dependency(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/dependency|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/license" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->license_search(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/license|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/versions" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->artifact_version_search(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/versions|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/search/latestVersion" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->artifact_latest_version_search_based_on_layout(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/search/latestVersion|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    );

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' =>
                          bless( do { \( my $o = "http://example.com:7777/artifactory/api/versions" ) }, 'URI::http' ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->artifact_latest_version_search_based_on_properties(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/versions|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/users" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->get_users();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/users|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/users/$user" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->get_user_details($user);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/users/$user|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/encryptedPassword" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->get_user_encrypted_password();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/encryptedPassword|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/users/$user" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->create_or_replace_user( $user, %args );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/users/$user|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/users/$user" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->update_user( $user, %args );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/users/$user|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::delete'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/users/$user" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->delete_user($user);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/users/$user|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/groups" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->get_groups();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/groups|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/groups/$group" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->get_group_details($group);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/groups/$group|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/groups/$group" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->create_or_replace_group( $group, %args );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/groups/$group|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/groups/$group" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->update_group( $group, %args );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/groups/$group|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::delete'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/groups/$group" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->delete_group($group);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/groups/$group|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/permissions" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->get_permission_targets();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/permissions|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/permissions/$name" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->get_permission_target_details($name);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/permissions/$name|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/security/permissions/$name" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->create_or_replace_permission_target( $name, %args );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/permissions/$name|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do {
                                \( my $o = "http://example.com:7777/artifactory/api/security/permissions/$permission" );
                            },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->delete_permission_target($permission);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/security/permissions/$permission|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/security" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->security_configuration();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/security|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/encrypt" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->activate_master_key_encryption();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/encrypt|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/decrypt" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->deactivate_master_key_encryption();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/decrypt|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/gpg/key/public" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->set_gpg_public_key();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/gpg/key/public|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/gpg/key/public" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->get_gpg_public_key();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/gpg/key/public|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/gpg/key/private" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->set_gpg_private_key();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/gpg/key/private|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/gpg/key/passphrase" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->set_gpg_pass_phrase('foobar');
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/gpg/key/passphrase|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/repositories/$repo" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->repository_configuration( $repo, %args );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/repositories/$repo|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/repositories/$repo" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->create_or_replace_repository_configuration( $repo, $payload, %args );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/repositories/$repo|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/repositories/$repo" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->update_repository_configuration( $repo, $payload );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/repositories/$repo|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::delete'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/repositories/$repo" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->delete_repository($repo);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/repositories/$repo|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/yum/$repository?async=1" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->calculate_yum_repository_metadata(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/yum/$repository\?async=1|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/nuget/$repository/reindex" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->calculate_nuget_repository_metadata();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/nuget/$repository/reindex|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/npm/$repository/reindex" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->calculate_npm_repository_metadata();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/npm/$repository/reindex|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    );

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' =>
                          bless( do { \( my $o = "http://example.com:7777/artifactory/api/maven?" ) }, 'URI::http' ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->calculate_maven_index(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/maven?|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/maven/calculateMetadata" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->calculate_maven_metadata($path);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/maven/calculateMetadata|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do {
                                \( my $o = "http://example.com:7777/artifactory/api/deb/reindex/$repository?async=1" );
                            },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->calculate_debian_repository_metadata(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/deb/reindex/$repository\?async=1|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

subtest 'system_info', sub {
    my $client = setup();
    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' =>
                          bless( do { \( my $o = "http://example.com:7777/artifactory/api/system" ) }, 'URI::http' ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->system_info();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/configuration" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->general_configuration();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/configuration|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/configuration" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };

    local *{'Path::Tiny::slurp'} = sub {

        # no-op, unit test reads no file
    };

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::put'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/configuration/baseUrl" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };

    my $resp            = $client->update_custom_url_base('https://mycompany.com:444/artifactory');
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/configuration/baseUrl|, 'requested URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/license" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->license_information();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/license|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/license" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->install_license('your_license_key');
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/license|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/licenses" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->ha_license_information();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/licenses|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/licenses" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp =
      $client->install_ha_cluster_licenses( [ { licenseKey => "foobar" }, { licenseKey => "barbaz" } ] );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/licenses|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::delete'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/system/licenses" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp = $client->delete_ha_cluster_license( 'hash1', 'hash2' );
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/system/licenses|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

                    {
                        '_uri' => bless(
                            do {
                                \( my $o =
"http://example.com:7777/artifactory/api/plugins/build/promote/promotion1/build1/3"
                                );
                            },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->execute_build_promotion(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/plugins/build/promote/promotion1/build1/3|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do {
                                \( my $o = "http://example.com:7777/artifactory/api/plugins/reload" );
                            },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->reload_plugins();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/plugins/reload|, 'requested URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN

    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/import/repositories?" ) },
                            'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };

    my $resp            = $client->import_repository_content(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/import/repositories?|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/import/system" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->import_system_settings_example();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/import/system|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/import/system" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->full_system_import(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/import/system|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::get'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/export/system" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->export_system_settings_example();
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/export/system|, 'requsted URL looks sane' );
};

t/01_unit.t  view on Meta::CPAN


    local *{'LWP::UserAgent::post'} = sub {
        return bless(
            {
                '_request' => bless(
                    {
                        '_uri' => bless(
                            do { \( my $o = "http://example.com:7777/artifactory/api/export/system" ) }, 'URI::http'
                        ),
                    },
                    'HTTP::Request'
                )
            },
            'HTTP::Response'
        );
    };
    my $resp            = $client->export_system(%args);
    my $url_in_response = $resp->request->uri;
    like( $url_in_response, qr|/api/export/system|, 'requsted URL looks sane' );
};



( run in 0.498 second using v1.01-cache-2.11-cpan-de7293f3b23 )