plugin_control: more descriptive key for 'plugin stop' result

Changelog-Changed: JSONRPC: 'plugin stop' result is now accessible using the 'result' key instead of the empty ('') key.
This commit is contained in:
darosior 2019-12-24 23:27:47 +01:00 committed by ZmnSCPxj, ZmnSCPxj jxPCSmnZ
parent 77eb9e45b2
commit 1cfb8425f5
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,4 @@
#include <lightningd/options.h>
#include <lightningd/plugin_control.h> #include <lightningd/plugin_control.h>
#include <lightningd/plugin_hook.h> #include <lightningd/plugin_hook.h>
@ -206,7 +207,11 @@ plugin_dynamic_stop(struct command *cmd, const char *plugin_name)
plugin_kill(p, "%s stopped by lightningd via RPC", plugin_name); plugin_kill(p, "%s stopped by lightningd via RPC", plugin_name);
tal_free(p); tal_free(p);
response = json_stream_success(cmd); response = json_stream_success(cmd);
json_add_string(response, "", if (deprecated_apis)
json_add_string(response, "",
take(tal_fmt(NULL, "Successfully stopped %s.",
plugin_name)));
json_add_string(response, "result",
take(tal_fmt(NULL, "Successfully stopped %s.", take(tal_fmt(NULL, "Successfully stopped %s.",
plugin_name))); plugin_name)));
return command_success(cmd, response); return command_success(cmd, response);

View File

@ -127,14 +127,16 @@ def test_plugin_command(node_factory):
n.rpc.plugin_list() n.rpc.plugin_list()
# Make sure the plugin behaves normally after stop and restart # Make sure the plugin behaves normally after stop and restart
assert("Successfully stopped helloworld.py." == n.rpc.plugin_stop(plugin="helloworld.py")['']) assert("Successfully stopped helloworld.py."
== n.rpc.plugin_stop(plugin="helloworld.py")["result"])
n.daemon.wait_for_log(r"Killing plugin: helloworld.py") n.daemon.wait_for_log(r"Killing plugin: helloworld.py")
n.rpc.plugin_start(plugin=os.path.join(os.getcwd(), "contrib/plugins/helloworld.py")) n.rpc.plugin_start(plugin=os.path.join(os.getcwd(), "contrib/plugins/helloworld.py"))
n.daemon.wait_for_log(r"Plugin helloworld.py initialized") n.daemon.wait_for_log(r"Plugin helloworld.py initialized")
assert("Hello world" == n.rpc.call(method="hello")) assert("Hello world" == n.rpc.call(method="hello"))
# Now stop the helloworld plugin # Now stop the helloworld plugin
assert("Successfully stopped helloworld.py." == n.rpc.plugin_stop(plugin="helloworld.py")['']) assert("Successfully stopped helloworld.py."
== n.rpc.plugin_stop(plugin="helloworld.py")["result"])
n.daemon.wait_for_log(r"Killing plugin: helloworld.py") n.daemon.wait_for_log(r"Killing plugin: helloworld.py")
# Make sure that the 'hello' command from the helloworld.py plugin # Make sure that the 'hello' command from the helloworld.py plugin
# is not available anymore. # is not available anymore.