#! perl -I. -w
{
my
$er
= error_response(
error_code
=> 42,
error_message
=>
"The error is in the message"
,
);
isa_ok(
$er
,
'Dancer::RPCPlugin::ErrorResponse'
);
is(
$er
->error_code, 42,
"->error_code()"
);
is(
$er
->error_data,
undef
,
"->error_data()"
);
is_deeply(
$er
->as_xmlrpc_fault,
{
faultCode
=> 42,
faultString
=>
"The error is in the message"
,
},
"->as_xmlrpc_fault()"
);
is_deeply(
$er
->as_jsonrpc_error,
{
error
=> {
code
=> 42,
message
=>
"The error is in the message"
,
}
},
"->as_jsonrpc_error()"
);
}
{
my
$er
= error_response(
error_code
=> 42,
error_message
=>
"The error is in the message"
,
error_data
=> {
one
=> 2},
);
isa_ok(
$er
,
'Dancer::RPCPlugin::ErrorResponse'
);
is(
$er
->error_code, 42,
"->error_code()"
);
is_deeply(
$er
->error_data, {
one
=> 2},
"->error_data()"
);
is_deeply(
$er
->as_xmlrpc_fault,
{
faultCode
=> 42,
faultString
=>
"The error is in the message"
,
},
"->as_xmlrpc_fault()"
);
is_deeply(
$er
->as_jsonrpc_error,
{
error
=> {
code
=> 42,
message
=>
"The error is in the message"
,
data
=> {
one
=> 2},
}
},
"->as_jsonrpc_error()"
);
}
{
my
$err
= error_response(
error_code
=> -32601,
error_message
=>
'Custom error with 403'
,
);
isa_ok(
$err
,
'Dancer::RPCPlugin::ErrorResponse'
);
is(
$err
->return_status(
'somerpc'
), 403,
"HTTPReturnCode 403"
);
is_deeply(
$err
->as_somerpc_fault,
{
error_message
=>
$err
->error_message },
"->as_somerpc_fault"
);
}
done_testing();