Dancer2-Plugin-RPC
view release on metacpan or search on metacpan
t/030-dispatchmethodlist.t view on Meta::CPAN
#! perl -I. -w
use t::Test::abeltje;
use Dancer2::RPCPlugin::DispatchMethodList;
note('Instantiate');
{
my $dml = Dancer2::RPCPlugin::DispatchMethodList->new();
isa_ok($dml, 'Dancer2::RPCPlugin::DispatchMethodList');
my $methods = {
jsonrpc => { '/endpoint_j' => [qw/ method1 method2 /] },
xmlrpc => { '/endpoint_x' => [qw/ method3 method4 /] },
};
for my $rpc (keys %$methods) {
for my $ep (keys %{$methods->{$rpc}}) {
$dml->set_partial(
protocol => $rpc,
endpoint => $ep,
methods => $methods->{$rpc}{$ep}
);
}
}
is_deeply(
$dml->list_methods('any'),
$methods,
"all methods (any)"
);
is_deeply(
$dml->list_methods('jsonrpc'),
$methods->{jsonrpc},
"list_methods(jsonrpc)"
);
is_deeply(
$dml->list_methods('xmlrpc'),
$methods->{xmlrpc},
"list_methods(xmlrpc)"
);
}
note('Instantiate again');
{
my $dml = Dancer2::RPCPlugin::DispatchMethodList->new();
isa_ok($dml, 'Dancer2::RPCPlugin::DispatchMethodList');
my $methods = {
jsonrpc => { '/endpoint_j' => [qw/ method1 method2 /] },
xmlrpc => { '/endpoint_x' => [qw/ method3 method4 /] },
};
is_deeply(
$dml->list_methods('any'),
$methods,
"all methods (any)"
);
is_deeply(
$dml->list_methods('jsonrpc'),
$methods->{jsonrpc},
"list_methods(jsonrpc)"
);
is_deeply(
$dml->list_methods('xmlrpc'),
$methods->{xmlrpc},
"list_methods(xmlrpc)"
);
};
abeltje_done_testing();
( run in 0.766 second using v1.01-cache-2.11-cpan-d7f47b0818f )