Changeset View
Changeset View
Standalone View
Standalone View
src/test/rpc_server_tests.cpp
Show All 29 Lines | |||||
static bool isRpcMethodNotFound(const UniValue &u) { | static bool isRpcMethodNotFound(const UniValue &u) { | ||||
return find_value(u, "code").get_int() == int(RPC_METHOD_NOT_FOUND); | return find_value(u, "code").get_int() == int(RPC_METHOD_NOT_FOUND); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(rpc_server_execute_command) { | BOOST_AUTO_TEST_CASE(rpc_server_execute_command) { | ||||
DummyConfig config; | DummyConfig config; | ||||
RPCServer rpcServer; | RPCServer rpcServer; | ||||
const std::string commandName = "testcommand1"; | const std::string commandName = "testcommand1"; | ||||
rpcServer.RegisterCommand(MakeUnique<ArgsTestRPCCommand>(commandName)); | rpcServer.RegisterCommand( | ||||
std::make_unique<ArgsTestRPCCommand>(commandName)); | |||||
UniValue args(UniValue::VOBJ); | UniValue args(UniValue::VOBJ); | ||||
args.pushKV("arg1", "value1"); | args.pushKV("arg1", "value1"); | ||||
// Registered commands execute and return values correctly | // Registered commands execute and return values correctly | ||||
JSONRPCRequest request; | JSONRPCRequest request; | ||||
request.strMethod = commandName; | request.strMethod = commandName; | ||||
request.params = args; | request.params = args; | ||||
Show All 21 Lines | public: | ||||
} | } | ||||
}; | }; | ||||
BOOST_AUTO_TEST_CASE(rpc_server_execute_command_from_request_context) { | BOOST_AUTO_TEST_CASE(rpc_server_execute_command_from_request_context) { | ||||
DummyConfig config; | DummyConfig config; | ||||
RPCServer rpcServer; | RPCServer rpcServer; | ||||
const std::string commandName = "testcommand2"; | const std::string commandName = "testcommand2"; | ||||
rpcServer.RegisterCommand( | rpcServer.RegisterCommand( | ||||
MakeUnique<RequestContextRPCCommand>(commandName)); | std::make_unique<RequestContextRPCCommand>(commandName)); | ||||
UniValue args(UniValue::VOBJ); | UniValue args(UniValue::VOBJ); | ||||
args.pushKV("arg2", "value2"); | args.pushKV("arg2", "value2"); | ||||
// Registered commands execute and return values correctly | // Registered commands execute and return values correctly | ||||
JSONRPCRequest request; | JSONRPCRequest request; | ||||
request.strMethod = commandName; | request.strMethod = commandName; | ||||
request.params = args; | request.params = args; | ||||
UniValue output = rpcServer.ExecuteCommand(config, request); | UniValue output = rpcServer.ExecuteCommand(config, request); | ||||
BOOST_CHECK_EQUAL(output.get_str(), "testing2"); | BOOST_CHECK_EQUAL(output.get_str(), "testing2"); | ||||
} | } | ||||
BOOST_AUTO_TEST_SUITE_END() | BOOST_AUTO_TEST_SUITE_END() |