Audio-Scrobbler2

 view release on metacpan or  search on metacpan

t/010_api.t  view on Meta::CPAN

        method => 'POST',
        url    => 'https://ws.audioscrobbler.com/2.0/',
    },
    'now-playing POST keeps Unicode values and exact signature',
);
is(
    $http->{encoded_forms}[0],
    'api_key=key'
        . '&api_sig=899f569545184a75096e2a05af0f6417'
        . '&artist=%D0%91%D0%B8-2'
        . '&format=json'
        . '&method=track.updateNowPlaying'
        . '&sk=session'
        . '&track=Metsat%C3%B6ll',
    'POST form values are UTF-8 encoded',
);

$http->enqueue(successful_response({scrobbles => {accepted => 1}}));
is_deeply(
    $client->track_scrobble('Би-2', 'Metsatöll', 1_700_000_000),
    {scrobbles => {accepted => 1}},
    'track_scrobble returns decoded JSON',
);
is_deeply(
    $http->{calls}[3],
    {
        form => {
            api_key   => 'key',
            api_sig   => 'f37bea080e9e5c68c56ffb49c5da7cb4',
            artist    => 'Би-2',
            format    => 'json',
            method    => 'track.scrobble',
            sk        => 'session',
            timestamp => 1_700_000_000,
            track     => 'Metsatöll',
        },
        method => 'POST',
        url    => 'https://ws.audioscrobbler.com/2.0/',
    },
    'scrobble POST preserves the supplied start timestamp',
);

$http->enqueue(successful_response({ok => 1}));
$client->_request({
    artist => 'Би-2',
    method => 'test.get',
    track  => 'Metsatöll',
});
is(
    $http->{calls}[4]{url},
    'https://ws.audioscrobbler.com/2.0/'
        . '?artist=%D0%91%D0%B8-2'
        . '&format=json'
        . '&method=test.get'
        . '&track=Metsat%C3%B6ll',
    'GET query values are UTF-8 encoded',
);

my $real_client = Audio::Scrobbler2->new('key', 'secret');
is($real_client->{http}->agent, 'Audio-Scrobbler2/1.00', 'client identifies itself');
is($real_client->{http}->keep_alive, 1, 'client enables keep-alive');
is($real_client->{http}->timeout, 30, 'client uses a 30 second timeout');
is($real_client->{http}->verify_SSL, 1, 'client verifies TLS certificates');

done_testing;



( run in 2.959 seconds using v1.01-cache-2.11-cpan-14f38c9f855 )