diff options
author | Daniel Kraft <d@domob.eu> | 2018-06-29 16:10:01 +0200 |
---|---|---|
committer | Daniel Kraft <d@domob.eu> | 2018-07-05 08:02:22 +0200 |
commit | 161e8d40a4e4c0e701b6c8142b8dcacf2190545e (patch) | |
tree | 1a897ac73c6e7c6d60b0f46f9624481f1b854af3 /test/functional/rpc_zmq.py | |
parent | caac39b0ace38aa088d88c1a5a9a9dbb4d2e893f (diff) |
RPC: Add new getzmqnotifications method.
This adds a new RPC method "getzmqnotifications", which returns
information about all active ZMQ notification endpoints. This is useful
for software that layers on top of bitcoind, so it can verify that
ZeroMQ is enabled and also figure out where it should listen.
See https://github.com/bitcoin/bitcoin/issues/13526.
Diffstat (limited to 'test/functional/rpc_zmq.py')
-rwxr-xr-x | test/functional/rpc_zmq.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/functional/rpc_zmq.py b/test/functional/rpc_zmq.py new file mode 100755 index 0000000000..eb789face2 --- /dev/null +++ b/test/functional/rpc_zmq.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +# Copyright (c) 2018 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +"""Test for the ZMQ RPC methods.""" + +from test_framework.test_framework import BitcoinTestFramework +from test_framework.util import assert_equal + + +class RPCZMQTest(BitcoinTestFramework): + + address = "tcp://127.0.0.1:28332" + + def set_test_params(self): + self.num_nodes = 1 + self.setup_clean_chain = True + + def run_test(self): + self._test_getzmqnotifications() + + def _test_getzmqnotifications(self): + self.restart_node(0, extra_args=[]) + assert_equal(self.nodes[0].getzmqnotifications(), []) + + self.restart_node(0, extra_args=["-zmqpubhashtx=%s" % self.address]) + assert_equal(self.nodes[0].getzmqnotifications(), [ + {"type": "pubhashtx", "address": self.address}, + ]) + + +if __name__ == '__main__': + RPCZMQTest().main() |