Catmandu-MediaHaven
view release on metacpan or search on metacpan
t/Catmandu-MediaHaven.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Test::Exception;
my $pkg;
BEGIN {
$pkg = 'Catmandu::MediaHaven';
use_ok $pkg;
}
require_ok $pkg;
my $url = $ENV{MEDIAHAVEN_URL} || "";
my $user = $ENV{MEDIAHAVEN_USER} || "";
my $pwd = $ENV{MEDIAHAVEN_PWD} || "";
SKIP: {
skip "No Mediahaven server environment settings found (MEDIAHAVEN_URL,"
. "MEDIAHAVEN_USER,MEDIAHAVEN_PWD).",
100 if (! $url || ! $user || ! $pwd);
my $mh = Catmandu::MediaHaven->new(url => $url, username => $user, password => $pwd);
ok $mh , 'got a MediaHaven handle';
my $res = $mh->search();
ok $res , 'got a search result';
is ref($res) , 'HASH' , 'search result is a hash';
ok $res->{totalNrOfResults} >= 0 , 'got more than one answer';
my $num_of_result = $res->{totalNrOfResults};
my $result_list = $res->{mediaDataList};
is int(@$result_list) , $num_of_result , 'got enough results';
if ($num_of_result) {
my $id = $result_list->[0]->{fragmentId};
ok $id , 'got an record identifier';
$res = $mh->record($id);
ok $res , 'got a record result';
is ref($res) , 'HASH' , 'record result is a hash';
is $res->{fragmentId} , $id , 'got the correct record';
}
}
done_testing;
( run in 1.801 second using v1.01-cache-2.11-cpan-d80b1682f3f )