Artifactory-Client
view release on metacpan or search on metacpan
t/01_unit.t view on Meta::CPAN
}',
'_headers' => bless( {}, 'HTTP::Headers' ),
},
'HTTP::Response'
);
};
my $resp = $client->item_properties( path => '/unique_path', properties => ['that'] );
my $scalar = decode_json( $resp->decoded_content );
is_deeply( $scalar->{properties}, { that => ['one'] }, 'property content is correct' );
};
subtest 'retrieve artifact', sub {
my $client = setup();
my $content = "content of artifact";
local *{'LWP::UserAgent::get'} = sub {
return bless(
{
'_content' => 'content of artifact',
'_headers' => bless( {}, 'HTTP::Headers' ),
},
'HTTP::Response'
);
};
my $resp = $client->retrieve_artifact('/unique_path');
is( $resp->decoded_content, $content, 'artifact retrieved successfully' );
};
subtest 'all_builds', sub {
my $client = setup();
local *{'LWP::UserAgent::get'} = sub {
return $mock_responses{http_200};
};
my $resp = $client->all_builds();
is( $resp->is_success, 1, 'fetched all builds' );
};
subtest 'delete_item', sub {
my $client = setup();
local *{'LWP::UserAgent::delete'} = sub {
return $mock_responses{http_204};
};
my $resp = $client->delete_item('/unique_path');
is( $resp->code, 204, 'deleted item' );
};
subtest 'build_runs', sub {
my $client = setup();
local *{'LWP::UserAgent::get'} = sub {
return $mock_responses{http_200};
};
my $resp = $client->build_runs('api-test');
is( $resp->code, 200, 'got build runs' );
};
subtest 'build_upload', sub {
my $client = setup();
local *{'LWP::UserAgent::put'} = sub {
return $mock_responses{http_200};
};
my $json_file = "$Bin/data/test.json";
my $resp = $client->build_upload($json_file);
is( $resp->code, 200, 'got build upload' );
};
subtest 'build_info', sub {
my $client = setup();
local *{'LWP::UserAgent::get'} = sub {
return $mock_responses{http_200};
};
my $resp = $client->build_info( 'api-test', 14 );
is( $resp->code, 200, 'got build info' );
};
subtest 'builds_diff', sub {
my $client = setup();
local *{'LWP::UserAgent::get'} = sub {
return $mock_responses{http_200};
};
my $resp = $client->builds_diff( 'api-test', 14, 10 );
is( $resp->code, 200, 'got builds diff' );
};
subtest 'build_promotion', sub {
my $client = setup();
my $payload = { status => "staged", };
local *{'LWP::UserAgent::post'} = sub {
return $mock_responses{http_200};
};
my $resp = $client->build_promotion( 'api-test', 10, $payload );
is( $resp->code, 200, 'build_promotion succeeded' );
};
subtest 'promote_docker_image', sub {
my $client = setup();
my %data = (
targetRepo => "target_repo",
dockerRepository => "dockerRepository",
tag => "tag",
copy => 'false',
);
local *{'LWP::UserAgent::post'} = sub {
return $mock_responses{http_200};
};
my $resp = $client->promote_docker_image(%data);
is( $resp->code, 200, 'promote_docker_image succeeded' );
};
subtest 'delete_builds', sub {
my $client = setup();
local *{'LWP::UserAgent::delete'} = sub {
return bless(
{
'_request' => bless(
{
'_uri' => bless(
do {
\( my $o =
'http://example.com:7777/artifactory/api/build/api-test?buildNumbers=1&artifacts=0&deleteAll=0'
( run in 0.957 second using v1.01-cache-2.11-cpan-b16cb0d3907 )